From 1fd163f7fa8fd206a765ccfe7f714fb075779796 Mon Sep 17 00:00:00 2001 From: Aurora Poppyseed Date: Tue, 23 Apr 2024 14:10:37 +0200 Subject: [PATCH 01/19] adding data from core regions --- package.json | 12 +- pnpm-lock.yaml | 558 ++++++------------ src/app/[network]/(App)/my-cores/MyCores.tsx | 108 +--- .../(App)/my-cores/PastTransactions.tsx | 9 +- 4 files changed, 212 insertions(+), 475 deletions(-) diff --git a/package.json b/package.json index bf60dad1..472271d1 100644 --- a/package.json +++ b/package.json @@ -27,14 +27,14 @@ "@azns/resolver-react": "^1.6.0", "@emotion/react": "^11.11.4", "@emotion/styled": "^11.11.5", - "@headlessui/react": "^1.7.18", + "@headlessui/react": "^1.7.19", "@heroicons/react": "^2.1.3", "@material-tailwind/react": "^1.4.2", "@mui/material": "^5.15.15", "@mui/x-date-pickers": "^6.19.9", "@paraspell/sdk": "^4.1.1", - "@polkadot/api-base": "^10.12.6", - "@poppyseed/squid-sdk": "^0.1.0", + "@polkadot/api-base": "^10.13.1", + "@poppyseed/squid-sdk": "^0.2.1", "@poppyseed/xcm-sdk": "^4.0.1", "animate.css": "^4.1.1", "axios": "^1.6.8", @@ -54,11 +54,11 @@ "reactstrap": "^9.2.2" }, "devDependencies": { - "@polkadot/api": "^10.12.6", - "@polkadot/api-contract": "^10.12.6", + "@polkadot/api": "^10.13.1", + "@polkadot/api-contract": "^10.13.1", "@polkadot/extension-dapp": "^0.46.9", "@polkadot/extension-inject": "^0.46.9", - "@polkadot/types": "^10.12.6", + "@polkadot/types": "^10.13.1", "@polkadot/util": "^12.6.2", "@polkadot/util-crypto": "^12.6.2", "@poppyseed/lastic-sdk": "^0.2.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d596ebbc..042aa3e4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,10 +7,10 @@ settings: dependencies: '@azns/resolver-core': specifier: ^1.6.0 - version: 1.6.0(@polkadot/api-contract@10.12.6)(@polkadot/api@10.12.6)(@polkadot/types@10.12.6)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) + version: 1.6.0(@polkadot/api-contract@10.13.1)(@polkadot/api@10.13.1)(@polkadot/types@10.13.1)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) '@azns/resolver-react': specifier: ^1.6.0 - version: 1.6.0(@polkadot/api-contract@10.12.6)(@polkadot/api@10.12.6)(@polkadot/types@10.12.6)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2)(react-dom@18.2.0)(react@18.2.0) + version: 1.6.0(@polkadot/api-contract@10.13.1)(@polkadot/api@10.13.1)(@polkadot/types@10.13.1)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2)(react-dom@18.2.0)(react@18.2.0) '@emotion/react': specifier: ^11.11.4 version: 11.11.4(@types/react@18.2.25)(react@18.2.0) @@ -18,8 +18,8 @@ dependencies: specifier: ^11.11.5 version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.25)(react@18.2.0) '@headlessui/react': - specifier: ^1.7.18 - version: 1.7.18(react-dom@18.2.0)(react@18.2.0) + specifier: ^1.7.19 + version: 1.7.19(react-dom@18.2.0)(react@18.2.0) '@heroicons/react': specifier: ^2.1.3 version: 2.1.3(react@18.2.0) @@ -34,16 +34,16 @@ dependencies: version: 6.19.9(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.15)(@mui/system@5.15.15)(@types/react@18.2.25)(date-fns@3.6.0)(react-dom@18.2.0)(react@18.2.0) '@paraspell/sdk': specifier: ^4.1.1 - version: 4.1.1(@polkadot/api-base@10.12.6)(@polkadot/api@10.12.6)(@polkadot/apps-config@0.133.1)(@polkadot/types@10.12.6)(@polkadot/util@12.6.2) + version: 4.1.1(@polkadot/api-base@10.13.1)(@polkadot/api@10.13.1)(@polkadot/apps-config@0.133.1)(@polkadot/types@10.13.1)(@polkadot/util@12.6.2) '@polkadot/api-base': - specifier: ^10.12.6 - version: 10.12.6 + specifier: ^10.13.1 + version: 10.13.1 '@poppyseed/squid-sdk': - specifier: ^0.1.0 - version: 0.1.0(@subsquid/substrate-runtime@1.0.3)(typeorm@0.3.20) + specifier: ^0.2.1 + version: 0.2.1(@subsquid/substrate-runtime@1.0.3)(typeorm@0.3.20) '@poppyseed/xcm-sdk': specifier: ^4.0.1 - version: 4.0.1(@polkadot/api-base@10.12.6)(@polkadot/api@10.12.6)(@polkadot/apps-config@0.133.1)(@polkadot/types@10.12.6)(@polkadot/util@12.6.2) + version: 4.0.1(@polkadot/api-base@10.13.1)(@polkadot/api@10.13.1)(@polkadot/apps-config@0.133.1)(@polkadot/types@10.13.1)(@polkadot/util@12.6.2) animate.css: specifier: ^4.1.1 version: 4.1.1 @@ -95,20 +95,20 @@ dependencies: devDependencies: '@polkadot/api': - specifier: ^10.12.6 - version: 10.12.6 + specifier: ^10.13.1 + version: 10.13.1 '@polkadot/api-contract': - specifier: ^10.12.6 - version: 10.12.6 + specifier: ^10.13.1 + version: 10.13.1 '@polkadot/extension-dapp': specifier: ^0.46.9 - version: 0.46.9(@polkadot/api@10.12.6)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) + version: 0.46.9(@polkadot/api@10.13.1)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) '@polkadot/extension-inject': specifier: ^0.46.9 - version: 0.46.9(@polkadot/api@10.12.6)(@polkadot/util@12.6.2) + version: 0.46.9(@polkadot/api@10.13.1)(@polkadot/util@12.6.2) '@polkadot/types': - specifier: ^10.12.6 - version: 10.12.6 + specifier: ^10.13.1 + version: 10.13.1 '@polkadot/util': specifier: ^12.6.2 version: 12.6.2 @@ -117,7 +117,7 @@ devDependencies: version: 12.6.2(@polkadot/util@12.6.2) '@poppyseed/lastic-sdk': specifier: ^0.2.7 - version: 0.2.7(@nightlylabs/wallet-selector-polkadot@0.2.5)(@polkadot/api-contract@10.12.6)(@polkadot/api@10.12.6)(@polkadot/extension-inject@0.46.9)(@polkadot/types@10.12.6)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2)(postcss@8.4.38)(react-dom@18.2.0)(react@18.2.0) + version: 0.2.7(@nightlylabs/wallet-selector-polkadot@0.2.5)(@polkadot/api-contract@10.13.1)(@polkadot/api@10.13.1)(@polkadot/extension-inject@0.46.9)(@polkadot/types@10.13.1)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2)(postcss@8.4.38)(react-dom@18.2.0)(react@18.2.0) '@types/react': specifier: 18.2.25 version: 18.2.25 @@ -302,7 +302,7 @@ packages: xss: 1.0.15 dev: false - /@azns/resolver-core@1.6.0(@polkadot/api-contract@10.12.6)(@polkadot/api@10.12.6)(@polkadot/types@10.12.6)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2): + /@azns/resolver-core@1.6.0(@polkadot/api-contract@10.13.1)(@polkadot/api@10.13.1)(@polkadot/types@10.13.1)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2): resolution: {integrity: sha512-3yhZanhezcw5FZLnFb5fPJ34xEmjWy2PtYkKsqbfHrQ8Pn3xql0c0nOqrlXn2P55FzkMvnQJTqEJ5zxzUj48Cg==} engines: {node: '>=16 <=18', pnpm: '8'} peerDependencies: @@ -312,9 +312,9 @@ packages: '@polkadot/util': '>=11.1.3' '@polkadot/util-crypto': '>=11.1.3' dependencies: - '@polkadot/api': 10.12.6 - '@polkadot/api-contract': 10.12.6 - '@polkadot/types': 10.12.6 + '@polkadot/api': 10.13.1 + '@polkadot/api-contract': 10.13.1 + '@polkadot/types': 10.13.1 '@polkadot/util': 12.6.2 '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) bufferutil: 4.0.8 @@ -322,7 +322,7 @@ packages: utf-8-validate: 6.0.3 dev: false - /@azns/resolver-react@1.6.0(@polkadot/api-contract@10.12.6)(@polkadot/api@10.12.6)(@polkadot/types@10.12.6)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2)(react-dom@18.2.0)(react@18.2.0): + /@azns/resolver-react@1.6.0(@polkadot/api-contract@10.13.1)(@polkadot/api@10.13.1)(@polkadot/types@10.13.1)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3eVDWMwFatpES0f9L+Ym8h5B2haC70fAkfQBOkuqjgn66dIbLV9SA97muSPJ6UhvZm32QQVYBYlQYS/MjToK8g==} engines: {node: '>=16 <=18', pnpm: '8'} peerDependencies: @@ -334,10 +334,10 @@ packages: react: '>=18' react-dom: '>=18' dependencies: - '@azns/resolver-core': 1.6.0(@polkadot/api-contract@10.12.6)(@polkadot/api@10.12.6)(@polkadot/types@10.12.6)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) - '@polkadot/api': 10.12.6 - '@polkadot/api-contract': 10.12.6 - '@polkadot/types': 10.12.6 + '@azns/resolver-core': 1.6.0(@polkadot/api-contract@10.13.1)(@polkadot/api@10.13.1)(@polkadot/types@10.13.1)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) + '@polkadot/api': 10.13.1 + '@polkadot/api-contract': 10.13.1 + '@polkadot/types': 10.13.1 '@polkadot/util': 12.6.2 '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) react: 18.2.0 @@ -1596,14 +1596,14 @@ packages: graphql: 15.8.0 dev: false - /@headlessui/react@1.7.18(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-4i5DOrzwN4qSgNsL4Si61VMkUcWbcSKueUV7sFhpHzQcSShdlHENE5+QBntMSRvHt8NyoFO2AGG8si9lq+w4zQ==} + /@headlessui/react@1.7.19(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Ll+8q3OlMJfJbAKM/+/Y2q6PPYbryqNTXDbryx7SXLIDamkF6iQFbriYHga0dY44PvDhvvBWCx1Xj4U5+G4hOw==} engines: {node: '>=10'} peerDependencies: react: ^16 || ^17 || ^18 react-dom: ^16 || ^17 || ^18 dependencies: - '@tanstack/react-virtual': 3.2.1(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-virtual': 3.4.0(react-dom@18.2.0)(react@18.2.0) client-only: 0.0.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1691,7 +1691,7 @@ packages: resolution: {integrity: sha512-WweuUZqZN2ETcseV6r1AEum1qG6eR5poNhkZ4CIpWBOjMasT2ArTKWyIPxxYllKUS2A8wKv1l8+AqH6Jpzk7Ug==} engines: {node: '>= 12'} dependencies: - ioredis: 5.4.0 + ioredis: 5.4.1 transitivePeerDependencies: - supports-color dev: false @@ -1741,15 +1741,6 @@ packages: - utf-8-validate dev: false - /@mangata-finance/type-definitions@2.1.2(@polkadot/types@10.12.6): - resolution: {integrity: sha512-kr4mVMuQ6DqZ0H72z0YI8tcdlk4XD4vUgRVYYfTJdXFJhRsfS4YRxfs/iiQPNzWKgoQZKcDqsbQD3xz9T1gELw==} - engines: {node: '>=18.0.0'} - peerDependencies: - '@polkadot/types': ^10.9.1 - dependencies: - '@polkadot/types': 10.12.6 - dev: false - /@mangata-finance/type-definitions@2.1.2(@polkadot/types@10.13.1): resolution: {integrity: sha512-kr4mVMuQ6DqZ0H72z0YI8tcdlk4XD4vUgRVYYfTJdXFJhRsfS4YRxfs/iiQPNzWKgoQZKcDqsbQD3xz9T1gELw==} engines: {node: '>=18.0.0'} @@ -1866,7 +1857,7 @@ packages: '@mui/utils': 5.15.14(@types/react@18.2.25)(react@18.2.0) '@popperjs/core': 2.11.8 '@types/react': 18.2.25 - clsx: 2.1.0 + clsx: 2.1.1 prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1903,7 +1894,7 @@ packages: '@mui/utils': 5.15.14(@types/react@18.2.25)(react@18.2.0) '@types/react': 18.2.25 '@types/react-transition-group': 4.4.10 - clsx: 2.1.0 + clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 react: 18.2.0 @@ -1975,7 +1966,7 @@ packages: '@mui/types': 7.2.14(@types/react@18.2.25) '@mui/utils': 5.15.14(@types/react@18.2.25)(react@18.2.0) '@types/react': 18.2.25 - clsx: 2.1.0 + clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 react: 18.2.0 @@ -2055,7 +2046,7 @@ packages: '@mui/system': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.2.25)(react@18.2.0) '@mui/utils': 5.15.14(@types/react@18.2.25)(react@18.2.0) '@types/react-transition-group': 4.4.10 - clsx: 2.1.0 + clsx: 2.1.1 date-fns: 3.6.0 prop-types: 15.8.1 react: 18.2.0 @@ -2313,7 +2304,7 @@ packages: '@open-web3/orml-type-definitions': 2.0.1 dev: false - /@paraspell/sdk@4.1.1(@polkadot/api-base@10.12.6)(@polkadot/api@10.12.6)(@polkadot/apps-config@0.133.1)(@polkadot/types@10.12.6)(@polkadot/util@12.6.2): + /@paraspell/sdk@4.1.1(@polkadot/api-base@10.13.1)(@polkadot/api@10.13.1)(@polkadot/apps-config@0.133.1)(@polkadot/types@10.13.1)(@polkadot/util@12.6.2): resolution: {integrity: sha512-zAl+elHblw3P0133QZkXn+YFuAo5a0mFr9gLo+5zapeLvtp8JgsxNzd+ARFDs3w6LW8Vzl4e44w9M8u+S3q67Q==} peerDependencies: '@polkadot/api': ^10.11.1 @@ -2322,11 +2313,11 @@ packages: '@polkadot/types': ^10.11.1 '@polkadot/util': ^12.6.1 dependencies: - '@mangata-finance/type-definitions': 2.1.2(@polkadot/types@10.12.6) - '@polkadot/api': 10.12.6 - '@polkadot/api-base': 10.12.6 + '@mangata-finance/type-definitions': 2.1.2(@polkadot/types@10.13.1) + '@polkadot/api': 10.13.1 + '@polkadot/api-base': 10.13.1 '@polkadot/apps-config': 0.133.1(@polkadot/keyring@12.6.2)(@polkadot/util-crypto@12.6.2)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - '@polkadot/types': 10.12.6 + '@polkadot/types': 10.13.1 '@polkadot/util': 12.6.2 ethers: 5.7.2 transitivePeerDependencies: @@ -2425,22 +2416,6 @@ packages: - utf-8-validate dev: true - /@polkadot/api-augment@10.12.6: - resolution: {integrity: sha512-CZHaFAd6zexk3JCm1mY5doE1E634xNpKaTGpbs61Ch285d5EqBY25GdzGNiMprNl4VyRFT4N7dXKfwEdsM6Z9w==} - engines: {node: '>=18'} - dependencies: - '@polkadot/api-base': 10.12.6 - '@polkadot/rpc-augment': 10.12.6 - '@polkadot/types': 10.12.6 - '@polkadot/types-augment': 10.12.6 - '@polkadot/types-codec': 10.12.6 - '@polkadot/util': 12.6.2 - tslib: 2.6.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - /@polkadot/api-augment@10.13.1: resolution: {integrity: sha512-IAKaCp19QxgOG4HKk9RAgUgC/VNVqymZ2GXfMNOZWImZhxRIbrK+raH5vN2MbWwtVHpjxyXvGsd1RRhnohI33A==} engines: {node: '>=18'} @@ -2505,20 +2480,6 @@ packages: - utf-8-validate dev: true - /@polkadot/api-base@10.12.6: - resolution: {integrity: sha512-6EzMettffiadB5j0X2nValtrEZJ2dKZMArfWHbSCV1QRSPOaMO3Phf/idqtF8HgBHD3FCHJ+JsZEns6xpkpteg==} - engines: {node: '>=18'} - dependencies: - '@polkadot/rpc-core': 10.12.6 - '@polkadot/types': 10.12.6 - '@polkadot/util': 12.6.2 - rxjs: 7.8.1 - tslib: 2.6.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - /@polkadot/api-base@10.13.1: resolution: {integrity: sha512-Okrw5hjtEjqSMOG08J6qqEwlUQujTVClvY1/eZkzKwNzPelWrtV6vqfyJklB7zVhenlxfxqhZKKcY7zWSW/q5Q==} engines: {node: '>=18'} @@ -2562,15 +2523,15 @@ packages: - utf-8-validate dev: false - /@polkadot/api-contract@10.12.6: - resolution: {integrity: sha512-9OHHktlMq/EEBFyKrYH1hAdiYd+GT4VJU/+yr0272loASodNQl2wwbKhI7X9AYZgOjMVn68H3Wp5LUAHHgGpLQ==} + /@polkadot/api-contract@10.13.1: + resolution: {integrity: sha512-uXukO/nTyL14VkqnisaGcTfmw8UtrU3+GIwiphaOGK+Zd6BucRwBNF0Nwsx6NrhsFvFdfni5E/wCQEXD9O9VtQ==} engines: {node: '>=18'} dependencies: - '@polkadot/api': 10.12.6 - '@polkadot/api-augment': 10.12.6 - '@polkadot/types': 10.12.6 - '@polkadot/types-codec': 10.12.6 - '@polkadot/types-create': 10.12.6 + '@polkadot/api': 10.13.1 + '@polkadot/api-augment': 10.13.1 + '@polkadot/types': 10.13.1 + '@polkadot/types-codec': 10.13.1 + '@polkadot/types-create': 10.13.1 '@polkadot/util': 12.6.2 '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) rxjs: 7.8.1 @@ -2600,25 +2561,6 @@ packages: - utf-8-validate dev: true - /@polkadot/api-derive@10.12.6: - resolution: {integrity: sha512-stjciYU9caSvPrcPo40zwPu15O7Q9OK9ldMFyyQkDdUT4cCE0LHuCmTNwcm4XhQq3XXJn+e7WNdhBfquwvkuhw==} - engines: {node: '>=18'} - dependencies: - '@polkadot/api': 10.12.6 - '@polkadot/api-augment': 10.12.6 - '@polkadot/api-base': 10.12.6 - '@polkadot/rpc-core': 10.12.6 - '@polkadot/types': 10.12.6 - '@polkadot/types-codec': 10.12.6 - '@polkadot/util': 12.6.2 - '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) - rxjs: 7.8.1 - tslib: 2.6.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - /@polkadot/api-derive@10.13.1: resolution: {integrity: sha512-ef0H0GeCZ4q5Om+c61eLLLL29UxFC2/u/k8V1K2JOIU+2wD5LF7sjAoV09CBMKKHfkLenRckVk2ukm4rBqFRpg==} engines: {node: '>=18'} @@ -2704,32 +2646,6 @@ packages: - utf-8-validate dev: true - /@polkadot/api@10.12.6: - resolution: {integrity: sha512-qWF7qFLZtpSILuPeZcvz0oCBXe89XndDjzgCnflvEVIUkQvxtFM8mDXpzI4bz8klrLYHlyFbP7HJl/xLi+XTew==} - engines: {node: '>=18'} - dependencies: - '@polkadot/api-augment': 10.12.6 - '@polkadot/api-base': 10.12.6 - '@polkadot/api-derive': 10.12.6 - '@polkadot/keyring': 12.6.2(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) - '@polkadot/rpc-augment': 10.12.6 - '@polkadot/rpc-core': 10.12.6 - '@polkadot/rpc-provider': 10.12.6 - '@polkadot/types': 10.12.6 - '@polkadot/types-augment': 10.12.6 - '@polkadot/types-codec': 10.12.6 - '@polkadot/types-create': 10.12.6 - '@polkadot/types-known': 10.12.6 - '@polkadot/util': 12.6.2 - '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) - eventemitter3: 5.0.1 - rxjs: 7.8.1 - tslib: 2.6.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - /@polkadot/api@10.13.1: resolution: {integrity: sha512-YrKWR4TQR5CDyGkF0mloEUo7OsUA+bdtENpJGOtNavzOQUDEbxFE0PVzokzZfVfHhHX2CojPVmtzmmLxztyJkg==} engines: {node: '>=18'} @@ -2837,7 +2753,7 @@ packages: '@polkadot/api': 10.13.1 '@polkadot/api-derive': 10.13.1 '@polkadot/networks': 12.6.2 - '@polkadot/react-identicon': 3.6.5(@polkadot/keyring@12.6.2)(@polkadot/networks@12.6.2)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + '@polkadot/react-identicon': 3.6.6(@polkadot/keyring@12.6.2)(@polkadot/networks@12.6.2)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) '@polkadot/types': 10.13.1 '@polkadot/types-codec': 10.13.1 '@polkadot/util': 12.6.2 @@ -2870,7 +2786,7 @@ packages: - utf-8-validate dev: false - /@polkadot/extension-dapp@0.46.9(@polkadot/api@10.12.6)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2): + /@polkadot/extension-dapp@0.46.9(@polkadot/api@10.13.1)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2): resolution: {integrity: sha512-y5udSeQ/X9MEoyjlpTcCn0UAEjZ2jjy6U3V/jiVFQo5vBKhdqAhN1oN8X5c4yWurmhYM/7oibImxAjEoXuwH+Q==} engines: {node: '>=18'} peerDependencies: @@ -2878,8 +2794,8 @@ packages: '@polkadot/util': '*' '@polkadot/util-crypto': '*' dependencies: - '@polkadot/api': 10.12.6 - '@polkadot/extension-inject': 0.46.9(@polkadot/api@10.12.6)(@polkadot/util@12.6.2) + '@polkadot/api': 10.13.1 + '@polkadot/extension-inject': 0.46.9(@polkadot/api@10.13.1)(@polkadot/util@12.6.2) '@polkadot/util': 12.6.2 '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) tslib: 2.6.2 @@ -2909,26 +2825,6 @@ packages: - utf-8-validate dev: true - /@polkadot/extension-inject@0.46.9(@polkadot/api@10.12.6)(@polkadot/util@12.6.2): - resolution: {integrity: sha512-m0jnrs9+jEOpMH6OUNl7nHpz9SFFWK9LzuqB8T3htEE3RUYPL//SLCPyEKxAAgHu7F8dgkUHssAWQfANofALCQ==} - engines: {node: '>=18'} - peerDependencies: - '@polkadot/api': '*' - '@polkadot/util': '*' - dependencies: - '@polkadot/api': 10.12.6 - '@polkadot/rpc-provider': 10.12.6 - '@polkadot/types': 10.12.6 - '@polkadot/util': 12.6.2 - '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) - '@polkadot/x-global': 12.6.2 - tslib: 2.6.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - /@polkadot/extension-inject@0.46.9(@polkadot/api@10.13.1)(@polkadot/util@12.6.2): resolution: {integrity: sha512-m0jnrs9+jEOpMH6OUNl7nHpz9SFFWK9LzuqB8T3htEE3RUYPL//SLCPyEKxAAgHu7F8dgkUHssAWQfANofALCQ==} engines: {node: '>=18'} @@ -2937,8 +2833,8 @@ packages: '@polkadot/util': '*' dependencies: '@polkadot/api': 10.13.1 - '@polkadot/rpc-provider': 10.12.6 - '@polkadot/types': 10.12.6 + '@polkadot/rpc-provider': 10.13.1 + '@polkadot/types': 10.13.1 '@polkadot/util': 12.6.2 '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) '@polkadot/x-global': 12.6.2 @@ -3064,8 +2960,8 @@ packages: '@substrate/ss58-registry': 1.47.0 dev: false - /@polkadot/react-identicon@3.6.5(@polkadot/keyring@12.6.2)(@polkadot/networks@12.6.2)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-a2kV2GRgJaxQIuay6CDpIsYB+L8/erth+v9t48H+TX5y87FadBIqj6F7LsaOD5HJ8dsXrDaPOx5f7SsoKAGm6A==} + /@polkadot/react-identicon@3.6.6(@polkadot/keyring@12.6.2)(@polkadot/networks@12.6.2)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-fcIqfXdQqmfVPquytfCPtG//4CEcdYCZQI7mO0zJCwH1RlUuxmhp5Gmm8TS+4ATOZ5utO6/IB+et9yAZ99PSNg==} engines: {node: '>=18'} peerDependencies: '@polkadot/keyring': '*' @@ -3076,8 +2972,8 @@ packages: react-is: '*' dependencies: '@polkadot/keyring': 12.6.2(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) - '@polkadot/ui-settings': 3.6.5(@polkadot/networks@12.6.2)(@polkadot/util@12.6.2) - '@polkadot/ui-shared': 3.6.5(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) + '@polkadot/ui-settings': 3.6.6(@polkadot/networks@12.6.2)(@polkadot/util@12.6.2) + '@polkadot/ui-shared': 3.6.6(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) '@polkadot/util': 12.6.2 '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) ethereum-blockies-base64: 1.0.2 @@ -3107,20 +3003,6 @@ packages: - utf-8-validate dev: true - /@polkadot/rpc-augment@10.12.6: - resolution: {integrity: sha512-MMZgdZtVygHqgsmCdKhfaN9ywf6im72xJzc9H8fkqyoJ+cGVy36uI3e8YwEM9vV6g/nallFmz4mU46u8/TjGlw==} - engines: {node: '>=18'} - dependencies: - '@polkadot/rpc-core': 10.12.6 - '@polkadot/types': 10.12.6 - '@polkadot/types-codec': 10.12.6 - '@polkadot/util': 12.6.2 - tslib: 2.6.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - /@polkadot/rpc-augment@10.13.1: resolution: {integrity: sha512-iLsWUW4Jcx3DOdVrSHtN0biwxlHuTs4QN2hjJV0gd0jo7W08SXhWabZIf9mDmvUJIbR7Vk+9amzvegjRyIf5+A==} engines: {node: '>=18'} @@ -3180,21 +3062,6 @@ packages: - utf-8-validate dev: true - /@polkadot/rpc-core@10.12.6: - resolution: {integrity: sha512-aBXhkryv2NMNg+cWajn/G0DF13inXIW+6iZV9cGc6lfsYT9Di/sasO0EIx7UUZW3ILYQ6Gh9jRgNLkwSNlAV9Q==} - engines: {node: '>=18'} - dependencies: - '@polkadot/rpc-augment': 10.12.6 - '@polkadot/rpc-provider': 10.12.6 - '@polkadot/types': 10.12.6 - '@polkadot/util': 12.6.2 - rxjs: 7.8.1 - tslib: 2.6.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - /@polkadot/rpc-core@10.13.1: resolution: {integrity: sha512-eoejSHa+/tzHm0vwic62/aptTGbph8vaBpbvLIK7gd00+rT813ROz5ckB1CqQBFB23nHRLuzzX/toY8ID3xrKw==} engines: {node: '>=18'} @@ -3265,29 +3132,6 @@ packages: - utf-8-validate dev: true - /@polkadot/rpc-provider@10.12.6: - resolution: {integrity: sha512-xLmzb2rMQXEWQlrIDY3E3IXo1jcV9+Vy3A8zMw/s/UIrwXZ3I0TefP8+mXcqEjLkkz7zwldDQvHfdmtnxdE14g==} - engines: {node: '>=18'} - dependencies: - '@polkadot/keyring': 12.6.2(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) - '@polkadot/types': 10.12.6 - '@polkadot/types-support': 10.12.6 - '@polkadot/util': 12.6.2 - '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) - '@polkadot/x-fetch': 12.6.2 - '@polkadot/x-global': 12.6.2 - '@polkadot/x-ws': 12.6.2 - eventemitter3: 5.0.1 - mock-socket: 9.3.1 - nock: 13.5.4 - tslib: 2.6.2 - optionalDependencies: - '@substrate/connect': 0.8.8 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - /@polkadot/rpc-provider@10.13.1: resolution: {integrity: sha512-oJ7tatVXYJ0L7NpNiGd69D558HG5y5ZDmH2Bp9Dd4kFTQIiV8A39SlWwWUPCjSsen9lqSvvprNLnG/VHTpenbw==} engines: {node: '>=18'} @@ -3367,15 +3211,6 @@ packages: tslib: 2.6.2 dev: true - /@polkadot/types-augment@10.12.6: - resolution: {integrity: sha512-eUNanLs0w7SQLlsjFs7kTPfOTclfjllJxghwRqWZFHWjUbVcGcPwr8ITv/mfx1WTCqUqLMe6K8CPJ7BSggAWBA==} - engines: {node: '>=18'} - dependencies: - '@polkadot/types': 10.12.6 - '@polkadot/types-codec': 10.12.6 - '@polkadot/util': 12.6.2 - tslib: 2.6.2 - /@polkadot/types-augment@10.13.1: resolution: {integrity: sha512-TcrLhf95FNFin61qmVgOgayzQB/RqVsSg9thAso1Fh6pX4HSbvI35aGPBAn3SkA6R+9/TmtECirpSNLtIGFn0g==} engines: {node: '>=18'} @@ -3414,14 +3249,6 @@ packages: tslib: 2.6.2 dev: true - /@polkadot/types-codec@10.12.6: - resolution: {integrity: sha512-yCzKdj/mLhjSG3mR1XhQdzzpAy0Exv9UuEhGQHPpdjkF0CCfVgsFoOAF3ScsSzwacJxGgxPWvlk849DfTrBYGA==} - engines: {node: '>=18'} - dependencies: - '@polkadot/util': 12.6.2 - '@polkadot/x-bigint': 12.6.2 - tslib: 2.6.2 - /@polkadot/types-codec@10.13.1: resolution: {integrity: sha512-AiQ2Vv2lbZVxEdRCN8XSERiWlOWa2cTDLnpAId78EnCtx4HLKYQSd+Jk9Y4BgO35R79mchK4iG+w6gZ+ukG2bg==} engines: {node: '>=18'} @@ -3456,14 +3283,6 @@ packages: tslib: 2.6.2 dev: true - /@polkadot/types-create@10.12.6: - resolution: {integrity: sha512-byuPy7IUFjzoxG3qrP4kEScfR92KFOAkaJksNT4kDZILPCeZSPPN7cLqdejypwDBqJthTJM0LqKK4g+eHGKdvw==} - engines: {node: '>=18'} - dependencies: - '@polkadot/types-codec': 10.12.6 - '@polkadot/util': 12.6.2 - tslib: 2.6.2 - /@polkadot/types-create@10.13.1: resolution: {integrity: sha512-Usn1jqrz35SXgCDAqSXy7mnD6j4RvB4wyzTAZipFA6DGmhwyxxIgOzlWQWDb+1PtPKo9vtMzen5IJ+7w5chIeA==} engines: {node: '>=18'} @@ -3502,17 +3321,6 @@ packages: tslib: 2.6.2 dev: true - /@polkadot/types-known@10.12.6: - resolution: {integrity: sha512-E/LWfOAPUW7YKAiioY7Ax/s+G4cuNQop3U/TPPM7sxXOv9hSia2hgFjtiU4NyTRVwf1O07YASXtYSecdSgcCuQ==} - engines: {node: '>=18'} - dependencies: - '@polkadot/networks': 12.6.2 - '@polkadot/types': 10.12.6 - '@polkadot/types-codec': 10.12.6 - '@polkadot/types-create': 10.12.6 - '@polkadot/util': 12.6.2 - tslib: 2.6.2 - /@polkadot/types-known@10.13.1: resolution: {integrity: sha512-uHjDW05EavOT5JeU8RbiFWTgPilZ+odsCcuEYIJGmK+es3lk/Qsdns9Zb7U7NJl7eJ6OWmRtyrWsLs+bU+jjIQ==} engines: {node: '>=18'} @@ -3576,13 +3384,6 @@ packages: tslib: 2.6.2 dev: true - /@polkadot/types-support@10.12.6: - resolution: {integrity: sha512-SMq/hUZJLCZXq26pNDaxgXNJqAJD8YhVXWXulCg0YvbIoVwEkFE66TEkUbtoRLKcsZXbPdxJ3JfSoa9r6Ewhnw==} - engines: {node: '>=18'} - dependencies: - '@polkadot/util': 12.6.2 - tslib: 2.6.2 - /@polkadot/types-support@10.13.1: resolution: {integrity: sha512-4gEPfz36XRQIY7inKq0HXNVVhR6HvXtm7yrEmuBuhM86LE0lQQBkISUSgR358bdn2OFSLMxMoRNoh3kcDvdGDQ==} engines: {node: '>=18'} @@ -3620,19 +3421,6 @@ packages: tslib: 2.6.2 dev: true - /@polkadot/types@10.12.6: - resolution: {integrity: sha512-ByjvZkKJclHSWEETk1m9HPYn/IdIyjWONOdy7Ih+/Nd0wVIahvXDYbV4CXe25xO0RhfFJzkGIZP+LFHL5F63Uw==} - engines: {node: '>=18'} - dependencies: - '@polkadot/keyring': 12.6.2(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) - '@polkadot/types-augment': 10.12.6 - '@polkadot/types-codec': 10.12.6 - '@polkadot/types-create': 10.12.6 - '@polkadot/util': 12.6.2 - '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) - rxjs: 7.8.1 - tslib: 2.6.2 - /@polkadot/types@10.13.1: resolution: {integrity: sha512-Hfvg1ZgJlYyzGSAVrDIpp3vullgxrjOlh/CSThd/PI4TTN1qHoPSFm2hs77k3mKkOzg+LrWsLE0P/LP2XddYcw==} engines: {node: '>=18'} @@ -3696,8 +3484,8 @@ packages: rxjs: 7.8.1 dev: false - /@polkadot/ui-settings@3.6.5(@polkadot/networks@12.6.2)(@polkadot/util@12.6.2): - resolution: {integrity: sha512-pRDwnXAsIrkARanL9BLDvg5u9PG7nnSDQkKmqYJiWbTW6G+ohOgBitlctjBnWASqjYMZLSRBY0MKwYrRrxJgVw==} + /@polkadot/ui-settings@3.6.6(@polkadot/networks@12.6.2)(@polkadot/util@12.6.2): + resolution: {integrity: sha512-DoXXnj4KASxZWE+hnBkNXOkm3AX6CbyyZLzPBAPR4ZyyGTqushJNmyaiTiArqMtBh7rYFT2cDStt+qOa/hjyhQ==} engines: {node: '>=18'} peerDependencies: '@polkadot/networks': '*' @@ -3710,8 +3498,8 @@ packages: tslib: 2.6.2 dev: false - /@polkadot/ui-shared@3.6.5(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2): - resolution: {integrity: sha512-ZBkOcKxun+lwCkokDDX71Ajir9yNYc0VuyUik+76xFvoHYkKdQ+qInv2GS6caWAtTSfIxb4EKNN2Euc9m8un1A==} + /@polkadot/ui-shared@3.6.6(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2): + resolution: {integrity: sha512-cZkgis83y9U0SxsXZalvOqRWvq0tLHnFIYlyMzitolC4xePUQjamSar6mUedp+mneyPIq+GW46wyUzPbuBFuhw==} engines: {node: '>=18'} peerDependencies: '@polkadot/util': '*' @@ -4297,7 +4085,7 @@ packages: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} dev: false - /@poppyseed/lastic-sdk@0.2.7(@nightlylabs/wallet-selector-polkadot@0.2.5)(@polkadot/api-contract@10.12.6)(@polkadot/api@10.12.6)(@polkadot/extension-inject@0.46.9)(@polkadot/types@10.12.6)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2)(postcss@8.4.38)(react-dom@18.2.0)(react@18.2.0): + /@poppyseed/lastic-sdk@0.2.7(@nightlylabs/wallet-selector-polkadot@0.2.5)(@polkadot/api-contract@10.13.1)(@polkadot/api@10.13.1)(@polkadot/extension-inject@0.46.9)(@polkadot/types@10.13.1)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2)(postcss@8.4.38)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-f/S9a28aJADb8UKEVKD0f5Cue94DDrRbonXLh8KrYimUwJAs6yaSzpEMgqJ/q9qNawh5ShIJGfRbY+5XKeeWMw==} engines: {node: '>=18', pnpm: '8'} peerDependencies: @@ -4313,16 +4101,16 @@ packages: dependencies: '@changesets/cli': 2.27.1 '@nightlylabs/wallet-selector-polkadot': 0.2.5(@polkadot/util@12.6.2) - '@polkadot/api': 10.12.6 - '@polkadot/api-contract': 10.12.6 - '@polkadot/extension-dapp': 0.46.9(@polkadot/api@10.12.6)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) - '@polkadot/extension-inject': 0.46.9(@polkadot/api@10.12.6)(@polkadot/util@12.6.2) - '@polkadot/types': 10.12.6 + '@polkadot/api': 10.13.1 + '@polkadot/api-contract': 10.13.1 + '@polkadot/extension-dapp': 0.46.9(@polkadot/api@10.13.1)(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) + '@polkadot/extension-inject': 0.46.9(@polkadot/api@10.13.1)(@polkadot/util@12.6.2) + '@polkadot/types': 10.13.1 '@polkadot/util': 12.6.2 '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) '@poppyseed/lastic-sdk': 'link:' '@types/node': 20.12.7 - '@types/react': 18.2.78 + '@types/react': 18.2.79 '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': 6.21.0(eslint@8.36.0)(typescript@5.4.5) concurrently: 8.2.2 @@ -4347,8 +4135,8 @@ packages: - utf-8-validate dev: true - /@poppyseed/squid-sdk@0.1.0(@subsquid/substrate-runtime@1.0.3)(typeorm@0.3.20): - resolution: {integrity: sha512-EDzMxvwWhz6Budc6EZx8ZKCGBBCEWMJIAGhgyMxykgc8H1fK6aasOYFv8zciI1Vevv6gA4SEAbb8H13haMITPA==} + /@poppyseed/squid-sdk@0.2.1(@subsquid/substrate-runtime@1.0.3)(typeorm@0.3.20): + resolution: {integrity: sha512-UMu6E+ZKQTSJyoRR4QrJNQ67ChzhzaabQZdHCru9quQfXHHAXp7efoqYGwy29h1/46Bjm4o1TSglxm4qHvaWwQ==} dependencies: '@kodadot1/static': 0.0.3 '@subsquid/archive-registry': 3.3.2 @@ -4374,7 +4162,7 @@ packages: - utf-8-validate dev: false - /@poppyseed/xcm-sdk@4.0.1(@polkadot/api-base@10.12.6)(@polkadot/api@10.12.6)(@polkadot/apps-config@0.133.1)(@polkadot/types@10.12.6)(@polkadot/util@12.6.2): + /@poppyseed/xcm-sdk@4.0.1(@polkadot/api-base@10.13.1)(@polkadot/api@10.13.1)(@polkadot/apps-config@0.133.1)(@polkadot/types@10.13.1)(@polkadot/util@12.6.2): resolution: {integrity: sha512-0MqFshQAxh5FIVovT6WQuEUOoHPEikc7ZDbsLXicyWeAWWm7k6KWKF653zd69ncVJ9pbwISMMcj4H+AfLaQKQA==} peerDependencies: '@polkadot/api': ^10.6.1 @@ -4383,11 +4171,11 @@ packages: '@polkadot/types': ^10.6.1 '@polkadot/util': ^12.6.1 dependencies: - '@mangata-finance/type-definitions': 2.1.2(@polkadot/types@10.12.6) - '@polkadot/api': 10.12.6 - '@polkadot/api-base': 10.12.6 + '@mangata-finance/type-definitions': 2.1.2(@polkadot/types@10.13.1) + '@polkadot/api': 10.13.1 + '@polkadot/api-base': 10.13.1 '@polkadot/apps-config': 0.133.1(@polkadot/keyring@12.6.2)(@polkadot/util-crypto@12.6.2)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - '@polkadot/types': 10.12.6 + '@polkadot/types': 10.13.1 '@polkadot/util': 12.6.2 ethers: 5.7.2 transitivePeerDependencies: @@ -4438,128 +4226,128 @@ packages: resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} dev: false - /@rollup/rollup-android-arm-eabi@4.14.3: - resolution: {integrity: sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==} + /@rollup/rollup-android-arm-eabi@4.16.3: + resolution: {integrity: sha512-1ACInKIT0pXmTYuPoJAL8sOT0lV3PEACFSVxnD03hGIojJ1CmbzZmLJyk2xew+yxqTlmx7xydkiJcBzdp0V+AQ==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.14.3: - resolution: {integrity: sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==} + /@rollup/rollup-android-arm64@4.16.3: + resolution: {integrity: sha512-vGl+Bny8cawCM7ExugzqEB8ke3t7Pm9/mo+ciA9kJh6pMuNyM+31qhewMwHwseDZ/LtdW0SCocW1CsMxcq1Lsg==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.14.3: - resolution: {integrity: sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==} + /@rollup/rollup-darwin-arm64@4.16.3: + resolution: {integrity: sha512-Lj8J9WzQRvfWO4GfI+bBkIThUFV1PtI+es/YH/3cwUQ+edXu8Mre0JRJfRrAeRjPiHDPFFZaX51zfgHHEhgRAg==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.14.3: - resolution: {integrity: sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==} + /@rollup/rollup-darwin-x64@4.16.3: + resolution: {integrity: sha512-NPPOXMTIWJk50lgZmRReEYJFvLG5rgMDzaVauWNB2MgFQYm9HuNXQdVVg3iEZ3A5StIzxhMlPjVyS5fsv4PJmg==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.14.3: - resolution: {integrity: sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==} + /@rollup/rollup-linux-arm-gnueabihf@4.16.3: + resolution: {integrity: sha512-ij4tv1XtWcDScaTgoMnvDEYZ2Wjl2ZhDFEyftjBKu6sNNLHIkKuXBol/bVSh+md5zSJ6em9hUXyPO3cVPCsl4Q==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-musleabihf@4.14.3: - resolution: {integrity: sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==} + /@rollup/rollup-linux-arm-musleabihf@4.16.3: + resolution: {integrity: sha512-MTMAl30dzcfYB+smHe1sJuS2P1/hB8pqylkCe0/8/Lo8CADjy/eM8x43nBoR5eqcYgpOtCh7IgHpvqSMAE38xw==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.14.3: - resolution: {integrity: sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==} + /@rollup/rollup-linux-arm64-gnu@4.16.3: + resolution: {integrity: sha512-vY3fAg6JLDoNh781HHHMPvt8K6RWG3OmEj3xI9BOFSQTD5PNaGKvCB815MyGlDnFYUw7lH+WvvQqoBwLtRDR1A==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.14.3: - resolution: {integrity: sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==} + /@rollup/rollup-linux-arm64-musl@4.16.3: + resolution: {integrity: sha512-61SpQGBSb8QkfV/hUYWezlEig4ro55t8NcE5wWmy1bqRsRVHCEDkF534d+Lln/YeLUoSWtJHvvG3bx9lH/S6uA==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.14.3: - resolution: {integrity: sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==} + /@rollup/rollup-linux-powerpc64le-gnu@4.16.3: + resolution: {integrity: sha512-4XGexJthsNhEEgv/zK4/NnAOjYKoeCsIoT+GkqTY2u3rse0lbJ8ft1bpDCdlkvifsLDL2uwe4fn8PLR4IMTKQQ==} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.14.3: - resolution: {integrity: sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==} + /@rollup/rollup-linux-riscv64-gnu@4.16.3: + resolution: {integrity: sha512-/pArXjqnEdhbQ1qe4CTTlJ6/GjWGdWNRucKAp4fqKnKf7QC0BES3QEV34ACumHHQ4uEGt4GctF2ISCMRhkli0A==} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.14.3: - resolution: {integrity: sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==} + /@rollup/rollup-linux-s390x-gnu@4.16.3: + resolution: {integrity: sha512-vu4f3Y8iwjtRfSZdmtP8nC1jmRx1IrRVo2cLQlQfpFZ0e2AE9YbPgfIzpuK+i3C4zFETaLLNGezbBns2NuS/uA==} cpu: [s390x] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.14.3: - resolution: {integrity: sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==} + /@rollup/rollup-linux-x64-gnu@4.16.3: + resolution: {integrity: sha512-n4HEgIJulNSmAKT3SYF/1wuzf9od14woSBseNkzur7a+KJIbh2Jb+J9KIsdGt3jJnsLW0BT1Sj6MiwL4Zzku6Q==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.14.3: - resolution: {integrity: sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==} + /@rollup/rollup-linux-x64-musl@4.16.3: + resolution: {integrity: sha512-guO/4N1884ig2AzTKPc6qA7OTnFMUEg/X2wiesywRO1eRD7FzHiaiTQQOLFmnUXWj2pgQXIT1g5g3e2RpezXcQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.14.3: - resolution: {integrity: sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==} + /@rollup/rollup-win32-arm64-msvc@4.16.3: + resolution: {integrity: sha512-+rxD3memdkhGz0NhNqbYHXBoA33MoHBK4uubZjF1IeQv1Psi6tqgsCcC6vwQjxBM1qoCqOQQBy0cgNbbZKnGUg==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.14.3: - resolution: {integrity: sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==} + /@rollup/rollup-win32-ia32-msvc@4.16.3: + resolution: {integrity: sha512-0NxVbLhBXmwANWWbgZY/RdSkeuHEgF+u8Dc0qBowUVBYsR2y2vwVGjKgUcj1wtu3jpjs057io5g9HAPr3Icqjg==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.14.3: - resolution: {integrity: sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==} + /@rollup/rollup-win32-x64-msvc@4.16.3: + resolution: {integrity: sha512-hutnZavtOx/G4uVdgoZz5279By9NVbgmxOmGGgnzUjZYuwp2+NzGq6KXQmHXBWz7W/vottXn38QmKYAdQLa/vQ==} cpu: [x64] os: [win32] requiresBuild: true @@ -4658,8 +4446,8 @@ packages: '@subsquid/logger': 1.3.3 '@subsquid/openreader': 4.5.1 '@subsquid/typeorm-config': 4.1.0(typeorm@0.3.20) - '@subsquid/util-internal': 3.1.0 - '@subsquid/util-internal-commander': 1.3.2(commander@11.1.0) + '@subsquid/util-internal': 3.2.0 + '@subsquid/util-internal-commander': 1.4.0(commander@11.1.0) '@subsquid/util-internal-http-server': 2.0.0 '@subsquid/util-internal-ts-node': 0.0.0 apollo-server-core: 3.13.0(graphql@15.8.0) @@ -4686,7 +4474,7 @@ packages: resolution: {integrity: sha512-y+exFBQygbdvhmMrXVMUMkSQnmW8w7jz7zbRSCvjJRfmzXLjIi9dOQT2eIGN7e9GY/MvsW/qpDJEWhIbkcHsuw==} dependencies: '@subsquid/logger': 1.3.3 - '@subsquid/util-internal': 3.1.0 + '@subsquid/util-internal': 3.2.0 node-fetch: 3.3.2 dev: false @@ -4710,8 +4498,8 @@ packages: '@graphql-tools/merge': 9.0.3(graphql@15.8.0) '@subsquid/graphiql-console': 0.3.0 '@subsquid/logger': 1.3.3 - '@subsquid/util-internal': 3.1.0 - '@subsquid/util-internal-commander': 1.3.2(commander@11.1.0) + '@subsquid/util-internal': 3.2.0 + '@subsquid/util-internal-commander': 1.4.0(commander@11.1.0) '@subsquid/util-internal-hex': 1.2.2 '@subsquid/util-internal-http-server': 2.0.0 '@subsquid/util-naming': 1.2.2 @@ -4733,12 +4521,12 @@ packages: - utf-8-validate dev: false - /@subsquid/rpc-client@4.8.0: - resolution: {integrity: sha512-cFtxw1O/8iWYcp/bJmErPTDnMOm1YHuK1MnDoMDlG+q+yCFW8YzvFayNwOjnzyIaJuwoluMeMw1euW3EOaRLAg==} + /@subsquid/rpc-client@4.9.0: + resolution: {integrity: sha512-lpb6qRMMlaacXOFPRhv4CZ7g4w7pKIR7ZEbMjyFexLOdv9MkcYzuGD5XT5REGaBA6mfQMaLa33K5lqAb+tJKBQ==} dependencies: '@subsquid/http-client': 1.4.0 '@subsquid/logger': 1.3.3 - '@subsquid/util-internal': 3.1.0 + '@subsquid/util-internal': 3.2.0 '@subsquid/util-internal-binary-heap': 1.0.0 '@subsquid/util-internal-counters': 1.3.2 '@subsquid/util-internal-json-fix-unsafe-integers': 0.0.0 @@ -4760,7 +4548,7 @@ packages: '@subsquid/scale-codec': ^4.0.1 dependencies: '@subsquid/scale-codec': 4.0.1 - '@subsquid/util-internal': 3.1.0 + '@subsquid/util-internal': 3.2.0 dev: false /@subsquid/ss58-codec@1.2.3: @@ -4777,26 +4565,26 @@ packages: '@subsquid/util-internal-hex': 1.2.2 dev: false - /@subsquid/substrate-data-raw@0.1.0(@subsquid/rpc-client@4.8.0): + /@subsquid/substrate-data-raw@0.1.0(@subsquid/rpc-client@4.9.0): resolution: {integrity: sha512-0540hjZzUgeVjqy7UqKcTPKBsun2eisv9JR0ks3WDHPLabyWy4TolbE1WWqCo4B8wBmLEm5+vTL/BtM/AkHrYg==} peerDependencies: '@subsquid/rpc-client': ^4.4.2 dependencies: - '@subsquid/rpc-client': 4.8.0 + '@subsquid/rpc-client': 4.9.0 '@subsquid/util-internal': 2.5.2 '@subsquid/util-internal-ingest-tools': 0.0.2 '@subsquid/util-internal-range': 0.0.1 dev: false - /@subsquid/substrate-data@3.0.1(@subsquid/rpc-client@4.8.0)(@subsquid/substrate-runtime@1.0.3): + /@subsquid/substrate-data@3.0.1(@subsquid/rpc-client@4.9.0)(@subsquid/substrate-runtime@1.0.3): resolution: {integrity: sha512-zmZGtwYwNi50siU5k0r8YRXlJPNsls1E6y1N+Yv7driNdsolKhXdcHKLoRIaiXRlV/QGkuSh/vNaLxebxiL1TQ==} peerDependencies: '@subsquid/rpc-client': ^4.4.2 '@subsquid/substrate-runtime': ^1.0.1 dependencies: - '@subsquid/rpc-client': 4.8.0 + '@subsquid/rpc-client': 4.9.0 '@subsquid/scale-codec': 4.0.1 - '@subsquid/substrate-data-raw': 0.1.0(@subsquid/rpc-client@4.8.0) + '@subsquid/substrate-data-raw': 0.1.0(@subsquid/rpc-client@4.9.0) '@subsquid/substrate-runtime': 1.0.3 '@subsquid/util-internal': 2.5.2 '@subsquid/util-internal-hex': 1.2.2 @@ -4814,9 +4602,9 @@ packages: dependencies: '@subsquid/http-client': 1.4.0 '@subsquid/logger': 1.3.3 - '@subsquid/rpc-client': 4.8.0 - '@subsquid/substrate-data': 3.0.1(@subsquid/rpc-client@4.8.0)(@subsquid/substrate-runtime@1.0.3) - '@subsquid/substrate-data-raw': 0.1.0(@subsquid/rpc-client@4.8.0) + '@subsquid/rpc-client': 4.9.0 + '@subsquid/substrate-data': 3.0.1(@subsquid/rpc-client@4.9.0)(@subsquid/substrate-runtime@1.0.3) + '@subsquid/substrate-data-raw': 0.1.0(@subsquid/rpc-client@4.9.0) '@subsquid/substrate-runtime': 1.0.3 '@subsquid/util-internal': 2.5.2 '@subsquid/util-internal-archive-client': 0.0.1(@subsquid/logger@1.3.3) @@ -4832,7 +4620,7 @@ packages: dependencies: '@subsquid/scale-codec': 4.0.1 '@subsquid/scale-type-system': 1.0.2(@subsquid/scale-codec@4.0.1) - '@subsquid/util-internal': 3.1.0 + '@subsquid/util-internal': 3.2.0 '@subsquid/util-internal-hex': 1.2.2 '@subsquid/util-naming': 1.2.2 '@subsquid/util-xxhash': 1.2.2 @@ -4860,7 +4648,7 @@ packages: typeorm: ^0.3.17 dependencies: '@subsquid/typeorm-config': 4.1.0(typeorm@0.3.20) - '@subsquid/util-internal': 3.1.0 + '@subsquid/util-internal': 3.2.0 '@subsquid/util-internal-code-printer': 1.2.2 '@subsquid/util-internal-ts-node': 0.0.0 commander: 11.1.0 @@ -4874,7 +4662,7 @@ packages: typeorm: ^0.3.17 dependencies: '@subsquid/typeorm-config': 4.1.0(typeorm@0.3.20) - '@subsquid/util-internal': 3.1.0 + '@subsquid/util-internal': 3.2.0 typeorm: 0.3.20(pg@8.11.5) dev: false @@ -4900,8 +4688,8 @@ packages: resolution: {integrity: sha512-uerf8T/FU4bxxhat09MgRrdmwifLwV+tO7QvlMvZ5ccwaVrJjHs+0/LY/h1e9YowH3+ZtwPqjYrd5tNOHWX8wA==} dev: false - /@subsquid/util-internal-commander@1.3.2(commander@11.1.0): - resolution: {integrity: sha512-9/1vI1dmGQMp5wjN6hb94VCnSosT+caob33tAesFaIdqLzqQlDtlTSRq1TFFossAgtsEJFi7GiQ8i31L/gaxSQ==} + /@subsquid/util-internal-commander@1.4.0(commander@11.1.0): + resolution: {integrity: sha512-I+IztlLVow9z2S5lK/ON4aBRYXKtAKXl/rVPUn1Ue5vq+5JgEFbWEKJgnwXkd0qKnKeoYeaRFlcyQVfxirxzJw==} peerDependencies: commander: ^11.1.0 dependencies: @@ -4980,8 +4768,8 @@ packages: resolution: {integrity: sha512-N7lfZdWEkM35jG5wdGYx25TJKGGLMOx9VInSeRhW9T/3BEmHAuSWI2mIIYnZ8w5L041V8HGo61ijWF6qsXvZjg==} dev: false - /@subsquid/util-internal@3.1.0: - resolution: {integrity: sha512-m1lIiy7Tc2+QR5Jcx9eGsVsB4ASR/bA5Z9gnB+qUy1BzYuz5FEiJOYCQm6J5Bt+VnYDYYyANEUMq4Cl3J5wuSg==} + /@subsquid/util-internal@3.2.0: + resolution: {integrity: sha512-foNCjOmZaP8MKMa9sNe2GXTjFSDM9UqA0I0C0/ZvCxM1lCmG3mxZb70f8Wyi7TePXC/eV8eARbIqFyz0GjQmzA==} dev: false /@subsquid/util-naming@1.2.2: @@ -5110,19 +4898,19 @@ packages: tslib: 2.6.2 dev: false - /@tanstack/react-virtual@3.2.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-i9Nt0ssIh2bSjomJZlr6Iq5usT/9+ewo2/fKHRNk6kjVKS8jrhXbnO8NEawarCuBx/efv0xpoUUKKGxa0cQb4Q==} + /@tanstack/react-virtual@3.4.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-GZN4xn/Tg5w7gvYeVcMVCeL4pEyUhvg+Cp6KX2Z01C4FRNxIWMgIQ9ibgMarNQfo+gt0PVLcEER4A9sNv/jlow==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@tanstack/virtual-core': 3.2.1 + '@tanstack/virtual-core': 3.4.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@tanstack/virtual-core@3.2.1: - resolution: {integrity: sha512-nO0d4vRzsmpBQCJYyClNHPPoUMI4nXNfrm6IcCRL33ncWMoNVpURh9YebEHPw8KrtsP2VSJIHE4gf4XFGk1OGg==} + /@tanstack/virtual-core@3.4.0: + resolution: {integrity: sha512-75jXqXxqq5M5Veb9KP1STi8kA5u408uOOAefk2ftHDGCpUk3RP6zX++QqfbmHJTBiU72NQ+ghgCZVts/Wocz8Q==} dev: false /@types/accepts@1.3.7: @@ -5256,8 +5044,8 @@ packages: '@types/scheduler': 0.23.0 csstype: 3.1.3 - /@types/react@18.2.78: - resolution: {integrity: sha512-qOwdPnnitQY4xKlKayt42q5W5UQrSHjgoXNVEtxeqdITJ99k4VXJOP3vt8Rkm9HmgJpH50UNU+rlqfkfWOqp0A==} + /@types/react@18.2.79: + resolution: {integrity: sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==} dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 @@ -5912,7 +5700,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001610 + caniuse-lite: 1.0.30001612 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -6079,8 +5867,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001610 - electron-to-chromium: 1.4.736 + caniuse-lite: 1.0.30001612 + electron-to-chromium: 1.4.746 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) dev: true @@ -6100,8 +5888,8 @@ packages: node-gyp-build: 4.8.0 dev: false - /bundle-require@4.0.2(esbuild@0.19.12): - resolution: {integrity: sha512-jwzPOChofl67PSTW2SGubV9HBQAhhR2i6nskiOThauo9dzwDUgOWQScFVaJkjEfYX+UXiD+LEx8EblQMc2wIag==} + /bundle-require@4.0.3(esbuild@0.19.12): + resolution: {integrity: sha512-2iscZ3fcthP2vka4Y7j277YJevwmsby/FpFDwjgw34Nl7dtCpt7zz/4TexmHMzY6KZEih7En9ImlbbgUNNQGtA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: esbuild: '>=0.17' @@ -6168,8 +5956,8 @@ packages: resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} dev: false - /caniuse-lite@1.0.30001610: - resolution: {integrity: sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==} + /caniuse-lite@1.0.30001612: + resolution: {integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==} /canvas-renderer@2.2.1: resolution: {integrity: sha512-RrBgVL5qCEDIXpJ6NrzyRNoTnXxYarqm/cS/W6ERhUJts5UQtt/XPEosGN3rqUkZ4fjBArlnCbsISJ+KCFnIAg==} @@ -6324,8 +6112,8 @@ packages: engines: {node: '>=0.8'} requiresBuild: true - /clsx@2.1.0: - resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} + /clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} dev: false @@ -6854,8 +6642,8 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: false - /electron-to-chromium@1.4.736: - resolution: {integrity: sha512-Rer6wc3ynLelKNM4lOCg7/zPQj8tPOCB2hzD32PX9wd3hgRRi9MxEbmkFCokzcEhRVMiOVLjnL9ig9cefJ+6+Q==} + /electron-to-chromium@1.4.746: + resolution: {integrity: sha512-jeWaIta2rIG2FzHaYIhSuVWqC6KJYo7oSBX4Jv7g+aVujKztfvdpf+n6MGwZdC5hQXbax4nntykLH2juIQrfPg==} dev: true /elliptic@6.5.4: @@ -8250,8 +8038,8 @@ packages: hasown: 2.0.2 side-channel: 1.0.6 - /ioredis@5.4.0: - resolution: {integrity: sha512-lGiiZyWFOskPu3pH4P8+uicHOZHpzYpgfKZFre68wLK6059zBo+KDTQpwxAVibBajKqpcrRJ5k+jl/uNHcCo3A==} + /ioredis@5.4.1: + resolution: {integrity: sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==} engines: {node: '>=12.22.0'} dependencies: '@ioredis/commands': 1.2.0 @@ -9072,7 +8860,7 @@ packages: '@next/env': 13.5.6 '@swc/helpers': 0.5.2 busboy: 1.6.0 - caniuse-lite: 1.0.30001610 + caniuse-lite: 1.0.30001612 postcss: 8.4.31 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10085,29 +9873,29 @@ packages: inherits: 2.0.4 dev: false - /rollup@4.14.3: - resolution: {integrity: sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==} + /rollup@4.16.3: + resolution: {integrity: sha512-Ygm4fFO4usWcAG3Ud36Lmif5nudoi0X6QPLC+kRgrRjulAbmFkaTawP7fTIkRDnCNSf/4IAQzXM1T8e691kRtw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.14.3 - '@rollup/rollup-android-arm64': 4.14.3 - '@rollup/rollup-darwin-arm64': 4.14.3 - '@rollup/rollup-darwin-x64': 4.14.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.14.3 - '@rollup/rollup-linux-arm-musleabihf': 4.14.3 - '@rollup/rollup-linux-arm64-gnu': 4.14.3 - '@rollup/rollup-linux-arm64-musl': 4.14.3 - '@rollup/rollup-linux-powerpc64le-gnu': 4.14.3 - '@rollup/rollup-linux-riscv64-gnu': 4.14.3 - '@rollup/rollup-linux-s390x-gnu': 4.14.3 - '@rollup/rollup-linux-x64-gnu': 4.14.3 - '@rollup/rollup-linux-x64-musl': 4.14.3 - '@rollup/rollup-win32-arm64-msvc': 4.14.3 - '@rollup/rollup-win32-ia32-msvc': 4.14.3 - '@rollup/rollup-win32-x64-msvc': 4.14.3 + '@rollup/rollup-android-arm-eabi': 4.16.3 + '@rollup/rollup-android-arm64': 4.16.3 + '@rollup/rollup-darwin-arm64': 4.16.3 + '@rollup/rollup-darwin-x64': 4.16.3 + '@rollup/rollup-linux-arm-gnueabihf': 4.16.3 + '@rollup/rollup-linux-arm-musleabihf': 4.16.3 + '@rollup/rollup-linux-arm64-gnu': 4.16.3 + '@rollup/rollup-linux-arm64-musl': 4.16.3 + '@rollup/rollup-linux-powerpc64le-gnu': 4.16.3 + '@rollup/rollup-linux-riscv64-gnu': 4.16.3 + '@rollup/rollup-linux-s390x-gnu': 4.16.3 + '@rollup/rollup-linux-x64-gnu': 4.16.3 + '@rollup/rollup-linux-x64-musl': 4.16.3 + '@rollup/rollup-win32-arm64-msvc': 4.16.3 + '@rollup/rollup-win32-ia32-msvc': 4.16.3 + '@rollup/rollup-win32-x64-msvc': 4.16.3 fsevents: 2.3.3 dev: true @@ -10861,7 +10649,7 @@ packages: typescript: optional: true dependencies: - bundle-require: 4.0.2(esbuild@0.19.12) + bundle-require: 4.0.3(esbuild@0.19.12) cac: 6.7.14 chokidar: 3.6.0 debug: 4.3.4 @@ -10872,7 +10660,7 @@ packages: postcss: 8.4.38 postcss-load-config: 4.0.2(postcss@8.4.38) resolve-from: 5.0.0 - rollup: 4.14.3 + rollup: 4.16.3 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 diff --git a/src/app/[network]/(App)/my-cores/MyCores.tsx b/src/app/[network]/(App)/my-cores/MyCores.tsx index a27fc758..9743106f 100644 --- a/src/app/[network]/(App)/my-cores/MyCores.tsx +++ b/src/app/[network]/(App)/my-cores/MyCores.tsx @@ -1,83 +1,45 @@ import Border from '@/components/border/Border' import CoreItem from '@/components/cores/CoreItem' import WalletStatus from '@/components/walletStatus/WalletStatus' -import { useSubstrateQuery } from '@/hooks/useSubstrateQuery' +import { network_list } from '@/config/network' import { parseNativeTokenToHuman } from '@/utils/account/token' -import { ConfigurationType, useBalance, useInkathon } from '@poppyseed/lastic-sdk' +import { getChainFromPath } from '@/utils/common/chainPath' +import { useBalance, useInkathon } from '@poppyseed/lastic-sdk' +import { CoreOwnerEvent, GraphLike, GraphQuery, getClient } from '@poppyseed/squid-sdk' +import { usePathname } from 'next/navigation' import { useEffect, useMemo, useState } from 'react' -// Define a type for the queryParams -type QueryParams = (string | number | Record)[] - -type RegionDetailItem = { - begin: string - core: string - mask: string -} - -type RegionDetail = RegionDetailItem[] - -type RegionOwner = { - end: string - owner: string - paid: string -} - -type Region = { - detail: RegionDetail - owner: RegionOwner -} - -type RegionsType = Region[] - -// Custom hook for querying substrate state -const useRegionQuery = () => { - const { api } = useInkathon() - const [data, setData] = useState(null) - - useEffect(() => { - const fetchData = async () => { - if (api?.query?.broker?.regions) { - try { - const entries = await api.query.broker.regions.entries() - const regions: RegionsType = entries.map(([key, value]) => { - const detail = key.toHuman() as RegionDetail - const owner = value.toHuman() as RegionOwner - return { detail, owner } - }) - setData(regions) - } catch (error) { - console.error('Failed to fetch regions:', error) - } - } - } - - fetchData() - const intervalId = setInterval(fetchData, 5000) - - return () => clearInterval(intervalId) - }, [api]) - - return data -} - export default function MyCores() { - const { activeAccount, activeChain, api } = useInkathon() + const { activeAccount, activeChain, activeRelayChain } = useInkathon() let { tokenSymbol } = useBalance(activeAccount?.address, true) - const regionData = useRegionQuery() - - const configurationString = useSubstrateQuery(api, 'configuration') + const [result, setResult] = useState | null>(null) + const client = useMemo(() => getClient(), []) + const network = activeRelayChain?.network + const pathname = usePathname() + const configuration = network_list[getChainFromPath(pathname)].configuration const [currentPage, setCurrentPage] = useState(1) const itemsPerPage = 6 + let query: GraphQuery + //const newAddress = encodeAddress(publicKeyBytes, targetNetworkPrefix) + if (activeAccount) { + query = client.eventWhoPurchased(activeAccount?.address, 7) + } + const handleNextPage = () => setCurrentPage(currentPage + 1) const handlePrevPage = () => setCurrentPage(currentPage - 1) - const configuration = useMemo( - () => (configurationString ? (JSON.parse(configurationString) as ConfigurationType) : null), - [configurationString], - ) + useEffect(() => { + if (network && query) { + const fetchData = async () => { + const fetchedResult: GraphLike = await client.fetch(network, query) + setResult(fetchedResult) + } + + fetchData() + } + }, []) if (!activeAccount || !activeChain) { return ( @@ -87,23 +49,14 @@ export default function MyCores() { ) } - // Filter regions where activeAccount's address matches the region owner's address - const filteredRegionData = regionData?.filter( - (region) => region.owner.owner === activeAccount.address, - ) - const filteredForDisplay = filteredRegionData?.slice( - (currentPage - 1) * itemsPerPage, - currentPage * itemsPerPage, - ) - - return filteredForDisplay && filteredForDisplay.length > 0 ? ( + return result?.data.event ? (

cores owned

- {filteredForDisplay.map((region, index) => ( + {result?.data.event.map((region, index) => (
))}
- {/* Pagination buttons */} + {/* Pagination buttons {!filteredForDisplay || !regionData || (filteredForDisplay.length !== 0 && ( @@ -141,6 +94,7 @@ export default function MyCores() {
))} + */}
) : ( diff --git a/src/app/[network]/(App)/my-cores/PastTransactions.tsx b/src/app/[network]/(App)/my-cores/PastTransactions.tsx index 11bade54..6f8d474a 100644 --- a/src/app/[network]/(App)/my-cores/PastTransactions.tsx +++ b/src/app/[network]/(App)/my-cores/PastTransactions.tsx @@ -19,7 +19,7 @@ const PastTransactions = () => { let query: GraphQuery //const newAddress = encodeAddress(publicKeyBytes, targetNetworkPrefix) if (activeAccount) { - query = client.eventWhoPurchased(activeAccount?.address) + query = client.eventWhoPurchased(activeAccount?.address, 7) } useEffect(() => { @@ -33,11 +33,6 @@ const PastTransactions = () => { } }, []) - const reversedData = useMemo(() => { - // Make a copy of the event array (if it exists) and reverse the copy - return [...(result?.data.event || [])].reverse() - }, [result]) - const TableHeader = [ { title: 'Time' }, { title: 'Block Number' }, @@ -50,7 +45,7 @@ const PastTransactions = () => { // Transform result into table data const TableData = - reversedData.map((event, index) => ({ + result?.data.event?.map((event, index) => ({ data: [ event.timestamp ? format(new Date(event.timestamp), 'MMMM dd, yyyy HH:mm:ss OOOO') : '', event.blockNumber?.toString(), From d5e0af6d8299a23360c83b68ffc11872c9ab1e9b Mon Sep 17 00:00:00 2001 From: Aurora Poppyseed Date: Tue, 23 Apr 2024 16:24:46 +0200 Subject: [PATCH 02/19] filtering works --- package.json | 6 +- pnpm-lock.yaml | 97 +++++++++ src/app/[network]/(App)/my-cores/MyCores.tsx | 204 ++++++++++++++----- src/components/cores/CoreItem.tsx | 22 +- src/store/reducers/counterReducer.ts | 18 ++ src/store/store.ts | 16 ++ 6 files changed, 295 insertions(+), 68 deletions(-) create mode 100644 src/store/reducers/counterReducer.ts create mode 100644 src/store/store.ts diff --git a/package.json b/package.json index 472271d1..c1fe3724 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "@polkadot/api-base": "^10.13.1", "@poppyseed/squid-sdk": "^0.2.1", "@poppyseed/xcm-sdk": "^4.0.1", + "@reduxjs/toolkit": "^2.2.3", "animate.css": "^4.1.1", "axios": "^1.6.8", "chart.js": "^4.4.2", @@ -45,13 +46,16 @@ "font-awesome": "^4.7.0", "framer-motion": "^10.18.0", "next": "^13.5.6", + "next-redux-wrapper": "^8.1.0", "next-themes": "^0.3.0", "react": "^18.2.0", "react-chartjs-2": "^5.2.0", "react-dom": "^18.2.0", "react-icons": "^4.12.0", + "react-redux": "^9.1.1", "react-type-animation": "^3.2.0", - "reactstrap": "^9.2.2" + "reactstrap": "^9.2.2", + "redux": "^5.0.1" }, "devDependencies": { "@polkadot/api": "^10.13.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 042aa3e4..29afc2d9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,6 +44,9 @@ dependencies: '@poppyseed/xcm-sdk': specifier: ^4.0.1 version: 4.0.1(@polkadot/api-base@10.13.1)(@polkadot/api@10.13.1)(@polkadot/apps-config@0.133.1)(@polkadot/types@10.13.1)(@polkadot/util@12.6.2) + '@reduxjs/toolkit': + specifier: ^2.2.3 + version: 2.2.3(react-redux@9.1.1)(react@18.2.0) animate.css: specifier: ^4.1.1 version: 4.1.1 @@ -71,6 +74,9 @@ dependencies: next: specifier: ^13.5.6 version: 13.5.6(react-dom@18.2.0)(react@18.2.0) + next-redux-wrapper: + specifier: ^8.1.0 + version: 8.1.0(next@13.5.6)(react-redux@9.1.1)(react@18.2.0) next-themes: specifier: ^0.3.0 version: 0.3.0(react-dom@18.2.0)(react@18.2.0) @@ -86,12 +92,18 @@ dependencies: react-icons: specifier: ^4.12.0 version: 4.12.0(react@18.2.0) + react-redux: + specifier: ^9.1.1 + version: 9.1.1(@types/react@18.2.25)(react@18.2.0)(redux@5.0.1) react-type-animation: specifier: ^3.2.0 version: 3.2.0(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) reactstrap: specifier: ^9.2.2 version: 9.2.2(react-dom@18.2.0)(react@18.2.0) + redux: + specifier: ^5.0.1 + version: 5.0.1 devDependencies: '@polkadot/api': @@ -4226,6 +4238,25 @@ packages: resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} dev: false + /@reduxjs/toolkit@2.2.3(react-redux@9.1.1)(react@18.2.0): + resolution: {integrity: sha512-76dll9EnJXg4EVcI5YNxZA/9hSAmZsFqzMmNRHvIlzw2WS/twfcVX3ysYrWGJMClwEmChQFC4yRq74tn6fdzRA==} + peerDependencies: + react: ^16.9.0 || ^17.0.0 || ^18 + react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 + peerDependenciesMeta: + react: + optional: true + react-redux: + optional: true + dependencies: + immer: 10.0.4 + react: 18.2.0 + react-redux: 9.1.1(@types/react@18.2.25)(react@18.2.0)(redux@5.0.1) + redux: 5.0.1 + redux-thunk: 3.1.0(redux@5.0.1) + reselect: 5.1.0 + dev: false + /@rollup/rollup-android-arm-eabi@4.16.3: resolution: {integrity: sha512-1ACInKIT0pXmTYuPoJAL8sOT0lV3PEACFSVxnD03hGIojJ1CmbzZmLJyk2xew+yxqTlmx7xydkiJcBzdp0V+AQ==} cpu: [arm] @@ -5081,6 +5112,10 @@ packages: resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} dev: true + /@types/use-sync-external-store@0.0.3: + resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==} + dev: false + /@types/uuid@9.0.8: resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} dev: false @@ -8001,6 +8036,10 @@ packages: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} + /immer@10.0.4: + resolution: {integrity: sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw==} + dev: false + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -8828,6 +8867,18 @@ packages: engines: {node: '>= 0.6'} dev: false + /next-redux-wrapper@8.1.0(next@13.5.6)(react-redux@9.1.1)(react@18.2.0): + resolution: {integrity: sha512-2hIau0hcI6uQszOtrvAFqgc0NkZegKYhBB7ZAKiG3jk7zfuQb4E7OV9jfxViqqojh3SEHdnFfPkN9KErttUKuw==} + peerDependencies: + next: '>=9' + react: '*' + react-redux: '*' + dependencies: + next: 13.5.6(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-redux: 9.1.1(@types/react@18.2.25)(react@18.2.0)(redux@5.0.1) + dev: false + /next-themes@0.3.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==} peerDependencies: @@ -9653,6 +9704,28 @@ packages: warning: 4.0.3 dev: false + /react-redux@9.1.1(@types/react@18.2.25)(react@18.2.0)(redux@5.0.1): + resolution: {integrity: sha512-5ynfGDzxxsoV73+4czQM56qF43vsmgJsO22rmAvU5tZT2z5Xow/A2uhhxwXuGTxgdReF3zcp7A80gma2onRs1A==} + peerDependencies: + '@types/react': ^18.2.25 + react: ^18.0 + react-native: '>=0.69' + redux: ^5.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + react-native: + optional: true + redux: + optional: true + dependencies: + '@types/react': 18.2.25 + '@types/use-sync-external-store': 0.0.3 + react: 18.2.0 + redux: 5.0.1 + use-sync-external-store: 1.2.0(react@18.2.0) + dev: false + /react-transition-group@4.4.5(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} peerDependencies: @@ -9772,6 +9845,18 @@ packages: redis-errors: 1.2.0 dev: false + /redux-thunk@3.1.0(redux@5.0.1): + resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==} + peerDependencies: + redux: ^5.0.0 + dependencies: + redux: 5.0.1 + dev: false + + /redux@5.0.1: + resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==} + dev: false + /reflect-metadata@0.2.2: resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} dev: false @@ -9809,6 +9894,10 @@ packages: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true + /reselect@5.1.0: + resolution: {integrity: sha512-aw7jcGLDpSgNDyWBQLv2cedml85qd95/iszJjN988zX1t7AVRJi19d9kto5+W7oCfQ94gyo40dVbT6g2k4/kXg==} + dev: false + /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -10921,6 +11010,14 @@ packages: dependencies: punycode: 2.3.1 + /use-sync-external-store@1.2.0(react@18.2.0): + resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + dev: false + /utf-8-validate@5.0.10: resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} engines: {node: '>=6.14.2'} diff --git a/src/app/[network]/(App)/my-cores/MyCores.tsx b/src/app/[network]/(App)/my-cores/MyCores.tsx index 9743106f..0d2bddf4 100644 --- a/src/app/[network]/(App)/my-cores/MyCores.tsx +++ b/src/app/[network]/(App)/my-cores/MyCores.tsx @@ -5,7 +5,13 @@ import { network_list } from '@/config/network' import { parseNativeTokenToHuman } from '@/utils/account/token' import { getChainFromPath } from '@/utils/common/chainPath' import { useBalance, useInkathon } from '@poppyseed/lastic-sdk' -import { CoreOwnerEvent, GraphLike, GraphQuery, getClient } from '@poppyseed/squid-sdk' +import { + CoreOwnerEvent, + GraphLike, + GraphQuery, + SaleInitializedEvent, + getClient, +} from '@poppyseed/squid-sdk' import { usePathname } from 'next/navigation' import { useEffect, useMemo, useState } from 'react' @@ -13,6 +19,9 @@ export default function MyCores() { const { activeAccount, activeChain, activeRelayChain } = useInkathon() let { tokenSymbol } = useBalance(activeAccount?.address, true) const [result, setResult] = useState | null>(null) + const [currentSaleData, setCurrentSaleData] = useState | null>( + null, + ) const client = useMemo(() => getClient(), []) const network = activeRelayChain?.network const pathname = usePathname() @@ -23,14 +32,32 @@ export default function MyCores() { let query: GraphQuery //const newAddress = encodeAddress(publicKeyBytes, targetNetworkPrefix) - if (activeAccount) { - query = client.eventWhoPurchased(activeAccount?.address, 7) - } - const handleNextPage = () => setCurrentPage(currentPage + 1) - const handlePrevPage = () => setCurrentPage(currentPage - 1) + useMemo(() => { + query = client.eventAllSaleInitialized(2) + if (network && query) { + const fetchData = async () => { + const fetchedResult: GraphLike = await client.fetch(network, query) + setCurrentSaleData(fetchedResult) + } + + fetchData() + } + }, [network, client]) useEffect(() => { + if (activeAccount && currentSaleData?.data?.event?.length && configuration) { + const currentSaleRegion = currentSaleData.data.event[0] + + if (currentSaleRegion.regionBegin) { + query = client.eventWhoCoreOwner( + activeAccount.address, + currentSaleRegion.regionBegin - configuration.regionLength, + currentSaleRegion.regionBegin + configuration.regionLength, + ) + } + } + if (network && query) { const fetchData = async () => { const fetchedResult: GraphLike = await client.fetch(network, query) @@ -39,7 +66,10 @@ export default function MyCores() { fetchData() } - }, []) + }, [currentPage, activeAccount, network, currentSaleData, client]) + + const handleNextPage = () => setCurrentPage(currentPage + 1) + const handlePrevPage = () => setCurrentPage(currentPage - 1) if (!activeAccount || !activeChain) { return ( @@ -49,57 +79,123 @@ export default function MyCores() { ) } - return result?.data.event ? ( + // Splitting the results into two sections + const currentSaleRegion = currentSaleData?.data?.event?.[0] + const justBought = + result?.data?.event?.filter((region) => + region.regionId.begin && currentSaleRegion?.regionBegin + ? region.regionId.begin > currentSaleRegion.regionBegin + : null, + ) || [] + const currentlyActive = + result?.data?.event?.filter((region) => + region.regionId.begin && currentSaleRegion?.regionBegin + ? region.regionId.begin <= currentSaleRegion.regionBegin + : null, + ) || [] + + return (
-
-

cores owned

+
+

Cores Owned

-
- {result?.data.event.map((region, index) => ( -
- -
- ))} -
- {/* Pagination buttons - {!filteredForDisplay || - !regionData || - (filteredForDisplay.length !== 0 && ( -
- -

{currentPage}

- -
- ))} - */} + +
- ) : ( - - - ) } + +interface SectionProps { + title: string + regions: CoreOwnerEvent[] + configuration: any // Define more specific types based on what 'configuration' contains + tokenSymbol: string +} + +function SectionDisplay({ title, regions, configuration, tokenSymbol }: SectionProps) { + return ( + <> +

{title}

+
+ {regions.map((region, index) => ( + + ))} +
+ + ) +} + +// return result?.data?.event ? ( +// +//
+//
+//

cores owned

+//
+//
+// {result?.data.event.map((region, index) => ( +//
+// +//
+// ))} +//
+// {/* Pagination buttons */} +// {!result?.data.event || +// (result?.data.event.length !== 0 && ( +//
+// +//

{currentPage}

+// +//
+// ))} +//
+//
+// ) : ( +// +// +// +// ) +// } +// diff --git a/src/components/cores/CoreItem.tsx b/src/components/cores/CoreItem.tsx index 0e2c7188..af50cbf9 100644 --- a/src/components/cores/CoreItem.tsx +++ b/src/components/cores/CoreItem.tsx @@ -9,14 +9,13 @@ import React from 'react' interface CardProps { config: ConfigurationType | null - coreNumber: string + coreNumber: number | null size: string cost: string - reward: string currencyCost: string - mask: string - begin: string - end: string + mask: string | null + begin: number | null + duration: number | null } const CoreItem: React.FC = ({ @@ -24,28 +23,25 @@ const CoreItem: React.FC = ({ coreNumber, size, cost, - reward, currencyCost, mask, begin, - end, + duration, }) => { - const beginStr = begin.replace(/,/g, '') - const coreSize = parseInt(end.replace(/,/g, '')) - parseInt(begin.replace(/,/g, '')) const pathname = usePathname() - if (!config) return null + if (!config || !duration || !begin) return null return ( - +
Core Nb. {coreNumber}
{' '} {/* Container to hold both buttons next to each other */} - {coreSize < config.regionLength && ( + {duration < config.regionLength && (
Partitioned
@@ -74,7 +70,7 @@ const CoreItem: React.FC = ({

Begin: {begin}

-

End: {end}

+

End: {begin + duration}

diff --git a/src/store/reducers/counterReducer.ts b/src/store/reducers/counterReducer.ts new file mode 100644 index 00000000..53c3aa77 --- /dev/null +++ b/src/store/reducers/counterReducer.ts @@ -0,0 +1,18 @@ +// store/reducers/counterReducer.js +import { createSlice } from '@reduxjs/toolkit' + +const counterSlice = createSlice({ + name: 'counter', + initialState: { value: 0 }, + reducers: { + incremented: (state) => { + state.value += 1 + }, + decremented: (state) => { + state.value -= 1 + }, + }, +}) + +export const { incremented, decremented } = counterSlice.actions +export default counterSlice.reducer diff --git a/src/store/store.ts b/src/store/store.ts new file mode 100644 index 00000000..8aba9f05 --- /dev/null +++ b/src/store/store.ts @@ -0,0 +1,16 @@ +// store/store.js +import { configureStore } from '@reduxjs/toolkit' +import { createWrapper } from 'next-redux-wrapper' +import counterReducer from './reducers/counterReducer' + +const makeStore = () => + configureStore({ + reducer: { + // Add your reducers here + counter: counterReducer, + }, + // Enable Redux DevTools + devTools: process.env.NODE_ENV !== 'production', + }) + +export const wrapper = createWrapper(makeStore) From 14561dea9035f7de7b71fc6dbe54183499dcde2f Mon Sep 17 00:00:00 2001 From: Aurora Poppyseed Date: Tue, 23 Apr 2024 20:08:21 +0200 Subject: [PATCH 03/19] fixes --- src/app/[network]/(App)/renewal/RenewFetch.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/[network]/(App)/renewal/RenewFetch.tsx b/src/app/[network]/(App)/renewal/RenewFetch.tsx index caca7764..0428156b 100644 --- a/src/app/[network]/(App)/renewal/RenewFetch.tsx +++ b/src/app/[network]/(App)/renewal/RenewFetch.tsx @@ -76,7 +76,7 @@ const RenewalsData = () => { return (
-

Cores set for execution

+

Cores for renewal

Date: Wed, 24 Apr 2024 16:30:51 +0200 Subject: [PATCH 04/19] change display --- src/app/[network]/(App)/my-cores/MyCores.tsx | 44 ++++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/src/app/[network]/(App)/my-cores/MyCores.tsx b/src/app/[network]/(App)/my-cores/MyCores.tsx index 0d2bddf4..0b4fe555 100644 --- a/src/app/[network]/(App)/my-cores/MyCores.tsx +++ b/src/app/[network]/(App)/my-cores/MyCores.tsx @@ -84,36 +84,40 @@ export default function MyCores() { const justBought = result?.data?.event?.filter((region) => region.regionId.begin && currentSaleRegion?.regionBegin - ? region.regionId.begin > currentSaleRegion.regionBegin + ? region.regionId.begin >= currentSaleRegion.regionBegin : null, ) || [] const currentlyActive = result?.data?.event?.filter((region) => region.regionId.begin && currentSaleRegion?.regionBegin - ? region.regionId.begin <= currentSaleRegion.regionBegin + ? region.regionId.begin < currentSaleRegion.regionBegin : null, ) || [] - return ( + return result?.data?.event && result?.data?.event.length > 0 ? (

Cores Owned

+ ) : ( + + + ) } @@ -129,19 +133,23 @@ function SectionDisplay({ title, regions, configuration, tokenSymbol }: SectionP <>

{title}

- {regions.map((region, index) => ( - - ))} + {regions.length > 0 ? ( + regions.map((region, index) => ( + + )) + ) : ( +
No cores found
+ )}
) From 69be6640ce5b08d72604c6cc8d1730e9a53134c4 Mon Sep 17 00:00:00 2001 From: Aurora Poppyseed Date: Wed, 24 Apr 2024 22:58:08 +0200 Subject: [PATCH 05/19] core retrieval from subsquid --- package.json | 2 +- pnpm-lock.yaml | 403 +++++++++++++++--- .../core/[number]/[regionId]/[mask]/Core.tsx | 174 +++++--- .../core/[number]/[regionId]/[mask]/page.tsx | 4 +- src/components/cores/CoreItemExtensive.tsx | 8 +- src/components/timelineComp/TimelineComp.tsx | 5 +- src/utils/broker/index.ts | 18 +- src/utils/broker/saleStatus.ts | 38 +- 8 files changed, 491 insertions(+), 161 deletions(-) diff --git a/package.json b/package.json index c1fe3724..680832bd 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "@mui/x-date-pickers": "^6.19.9", "@paraspell/sdk": "^4.1.1", "@polkadot/api-base": "^10.13.1", - "@poppyseed/squid-sdk": "^0.2.1", + "@poppyseed/squid-sdk": "^0.2.2", "@poppyseed/xcm-sdk": "^4.0.1", "@reduxjs/toolkit": "^2.2.3", "animate.css": "^4.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 29afc2d9..6f777ea7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,8 +39,8 @@ dependencies: specifier: ^10.13.1 version: 10.13.1 '@poppyseed/squid-sdk': - specifier: ^0.2.1 - version: 0.2.1(@subsquid/substrate-runtime@1.0.3)(typeorm@0.3.20) + specifier: ^0.2.2 + version: 0.2.2(@subsquid/substrate-runtime@1.0.3)(typeorm@0.3.20) '@poppyseed/xcm-sdk': specifier: ^4.0.1 version: 4.0.1(@polkadot/api-base@10.13.1)(@polkadot/api@10.13.1)(@polkadot/apps-config@0.133.1)(@polkadot/types@10.13.1)(@polkadot/util@12.6.2) @@ -2373,16 +2373,37 @@ packages: rxjs: 7.8.1 optional: true + /@polkadot-api/json-rpc-provider-proxy@0.0.1: + resolution: {integrity: sha512-gmVDUP8LpCH0BXewbzqXF2sdHddq1H1q+XrAW2of+KZj4woQkIGBRGTJHeBEVHe30EB+UejR1N2dT4PO/RvDdg==} + requiresBuild: true + dev: false + optional: true + /@polkadot-api/json-rpc-provider-proxy@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0: resolution: {integrity: sha512-0hZ8vtjcsyCX8AyqP2sqUHa1TFFfxGWmlXJkit0Nqp9b32MwZqn5eaUAiV2rNuEpoglKOdKnkGtUF8t5MoodKw==} requiresBuild: true optional: true + /@polkadot-api/json-rpc-provider@0.0.1: + resolution: {integrity: sha512-/SMC/l7foRjpykLTUTacIH05H3mr9ip8b5xxfwXlVezXrNVLp3Cv0GX6uItkKd+ZjzVPf3PFrDF2B2/HLSNESA==} + requiresBuild: true + dev: false + optional: true + /@polkadot-api/json-rpc-provider@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0: resolution: {integrity: sha512-EaUS9Fc3wsiUr6ZS43PQqaRScW7kM6DYbuM/ou0aYjm8N9MBqgDbGm2oL6RE1vAVmOfEuHcXZuZkhzWtyvQUtA==} requiresBuild: true optional: true + /@polkadot-api/metadata-builders@0.0.1: + resolution: {integrity: sha512-GCI78BHDzXAF/L2pZD6Aod/yl82adqQ7ftNmKg51ixRL02JpWUA+SpUKTJE5MY1p8kiJJIo09P2um24SiJHxNA==} + requiresBuild: true + dependencies: + '@polkadot-api/substrate-bindings': 0.0.1 + '@polkadot-api/utils': 0.0.1 + dev: false + optional: true + /@polkadot-api/metadata-builders@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0: resolution: {integrity: sha512-BD7rruxChL1VXt0icC2gD45OtT9ofJlql0qIllHSRYgama1CR2Owt+ApInQxB+lWqM+xNOznZRpj8CXNDvKIMg==} requiresBuild: true @@ -2391,6 +2412,31 @@ packages: '@polkadot-api/utils': 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 optional: true + /@polkadot-api/observable-client@0.1.0(rxjs@7.8.1): + resolution: {integrity: sha512-GBCGDRztKorTLna/unjl/9SWZcRmvV58o9jwU2Y038VuPXZcr01jcw/1O3x+yeAuwyGzbucI/mLTDa1QoEml3A==} + requiresBuild: true + peerDependencies: + rxjs: '>=7.8.0' + dependencies: + '@polkadot-api/metadata-builders': 0.0.1 + '@polkadot-api/substrate-bindings': 0.0.1 + '@polkadot-api/substrate-client': 0.0.1 + '@polkadot-api/utils': 0.0.1 + rxjs: 7.8.1 + dev: false + optional: true + + /@polkadot-api/substrate-bindings@0.0.1: + resolution: {integrity: sha512-bAe7a5bOPnuFVmpv7y4BBMRpNTnMmE0jtTqRUw/+D8ZlEHNVEJQGr4wu3QQCl7k1GnSV1wfv3mzIbYjErEBocg==} + requiresBuild: true + dependencies: + '@noble/hashes': 1.4.0 + '@polkadot-api/utils': 0.0.1 + '@scure/base': 1.1.6 + scale-ts: 1.6.0 + dev: false + optional: true + /@polkadot-api/substrate-bindings@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0: resolution: {integrity: sha512-N4vdrZopbsw8k57uG58ofO7nLXM4Ai7835XqakN27MkjXMp5H830A1KJE0L9sGQR7ukOCDEIHHcwXVrzmJ/PBg==} requiresBuild: true @@ -2401,11 +2447,23 @@ packages: scale-ts: 1.6.0 optional: true + /@polkadot-api/substrate-client@0.0.1: + resolution: {integrity: sha512-9Bg9SGc3AwE+wXONQoW8GC00N3v6lCZLW74HQzqB6ROdcm5VAHM4CB/xRzWSUF9CXL78ugiwtHx3wBcpx4H4Wg==} + requiresBuild: true + dev: false + optional: true + /@polkadot-api/substrate-client@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0: resolution: {integrity: sha512-lcdvd2ssUmB1CPzF8s2dnNOqbrDa+nxaaGbuts+Vo8yjgSKwds2Lo7Oq+imZN4VKW7t9+uaVcKFLMF7PdH0RWw==} requiresBuild: true optional: true + /@polkadot-api/utils@0.0.1: + resolution: {integrity: sha512-3j+pRmlF9SgiYDabSdZsBSsN5XHbpXOAce1lWj56IEEaFZVjsiCaxDOA7C9nCcgfVXuvnbxqqEGQvnY+QfBAUw==} + requiresBuild: true + dev: false + optional: true + /@polkadot-api/utils@0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0: resolution: {integrity: sha512-0CYaCjfLQJTCRCiYvZ81OncHXEKPzAexCMoVloR+v2nl/O2JRya/361MtPkeNLC6XBoaEgLAG9pWQpH3WePzsw==} requiresBuild: true @@ -2444,6 +2502,23 @@ packages: - supports-color - utf-8-validate + /@polkadot/api-augment@11.0.2: + resolution: {integrity: sha512-Icrwk9DxcWlMxl0UFhIthYX+TzFGhxC2zwCaIgUbE5l1hoRFWl+K4BbLOtNdGTr6jkEkJizdnzbXvxWMYHZEOA==} + engines: {node: '>=18'} + dependencies: + '@polkadot/api-base': 11.0.2 + '@polkadot/rpc-augment': 11.0.2 + '@polkadot/types': 11.0.2 + '@polkadot/types-augment': 11.0.2 + '@polkadot/types-codec': 11.0.2 + '@polkadot/util': 12.6.2 + tslib: 2.6.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + /@polkadot/api-augment@7.15.1: resolution: {integrity: sha512-7csQLS6zuYuGq7W1EkTBz1ZmxyRvx/Qpz7E7zPSwxmY8Whb7Yn2effU9XF0eCcRpyfSW8LodF8wMmLxGYs1OaQ==} engines: {node: '>=14.0.0'} @@ -2506,6 +2581,21 @@ packages: - supports-color - utf-8-validate + /@polkadot/api-base@11.0.2: + resolution: {integrity: sha512-Sz1z6KHe+AyiQRxwSXU2KM0KSKZ97sc1WBEhqqkGuR3YdaV2Pt++ixSJe1FXt5/YyMI/KU0W8GSciK6Kydgxgw==} + engines: {node: '>=18'} + dependencies: + '@polkadot/rpc-core': 11.0.2 + '@polkadot/types': 11.0.2 + '@polkadot/util': 12.6.2 + rxjs: 7.8.1 + tslib: 2.6.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + /@polkadot/api-base@7.15.1: resolution: {integrity: sha512-UlhLdljJPDwGpm5FxOjvJNFTxXMRFaMuVNx6EklbuetbBEJ/Amihhtj0EJRodxQwtZ4ZtPKYKt+g+Dn7OJJh4g==} engines: {node: '>=14.0.0'} @@ -2592,6 +2682,26 @@ packages: - supports-color - utf-8-validate + /@polkadot/api-derive@11.0.2: + resolution: {integrity: sha512-1E3alBICLBbsNJ4HvJkyIuCznuOgksS6cQ+H57K0d9NCC4xZcCqreHm+VTlZh3HZjDgw4CPDRvhgCDvDOP8KpA==} + engines: {node: '>=18'} + dependencies: + '@polkadot/api': 11.0.2 + '@polkadot/api-augment': 11.0.2 + '@polkadot/api-base': 11.0.2 + '@polkadot/rpc-core': 11.0.2 + '@polkadot/types': 11.0.2 + '@polkadot/types-codec': 11.0.2 + '@polkadot/util': 12.6.2 + '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) + rxjs: 7.8.1 + tslib: 2.6.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + /@polkadot/api-derive@7.15.1: resolution: {integrity: sha512-CsOQppksQBaa34L1fWRzmfQQpoEBwfH0yTTQxgj3h7rFYGVPxEKGeFjo1+IgI2vXXvOO73Z8E4H/MnbxvKrs1Q==} engines: {node: '>=14.0.0'} @@ -2684,6 +2794,33 @@ packages: - supports-color - utf-8-validate + /@polkadot/api@11.0.2: + resolution: {integrity: sha512-LG4gwlev+SC2WolWMX0CaUZJyZWxXbsCe5h58zFxXucQuiPAvkn0QrnSTC3hB3qywsxK6aeuQ9E2vrQYcN7EMg==} + engines: {node: '>=18'} + dependencies: + '@polkadot/api-augment': 11.0.2 + '@polkadot/api-base': 11.0.2 + '@polkadot/api-derive': 11.0.2 + '@polkadot/keyring': 12.6.2(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) + '@polkadot/rpc-augment': 11.0.2 + '@polkadot/rpc-core': 11.0.2 + '@polkadot/rpc-provider': 11.0.2 + '@polkadot/types': 11.0.2 + '@polkadot/types-augment': 11.0.2 + '@polkadot/types-codec': 11.0.2 + '@polkadot/types-create': 11.0.2 + '@polkadot/types-known': 11.0.2 + '@polkadot/util': 12.6.2 + '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) + eventemitter3: 5.0.1 + rxjs: 7.8.1 + tslib: 2.6.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + /@polkadot/api@7.15.1: resolution: {integrity: sha512-z0z6+k8+R9ixRMWzfsYrNDnqSV5zHKmyhTCL0I7+1I081V18MJTCFUKubrh0t1gD0/FCt3U9Ibvr4IbtukYLrQ==} engines: {node: '>=14.0.0'} @@ -3029,6 +3166,21 @@ packages: - supports-color - utf-8-validate + /@polkadot/rpc-augment@11.0.2: + resolution: {integrity: sha512-QcT9U2hINcjynJhHC4AhoHNgZR5JymDkuhAIOVYsNb1BUcDzoud5lvfK+ISfw2kVPAyCdx3kHodFPhdNdPGHUg==} + engines: {node: '>=18'} + dependencies: + '@polkadot/rpc-core': 11.0.2 + '@polkadot/types': 11.0.2 + '@polkadot/types-codec': 11.0.2 + '@polkadot/util': 12.6.2 + tslib: 2.6.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + /@polkadot/rpc-augment@7.15.1: resolution: {integrity: sha512-sK0+mphN7nGz/eNPsshVi0qd0+N0Pqxuebwc1YkUGP0f9EkDxzSGp6UjGcSwWVaAtk9WZZ1MpK1Jwb/2GrKV7Q==} engines: {node: '>=14.0.0'} @@ -3089,6 +3241,22 @@ packages: - supports-color - utf-8-validate + /@polkadot/rpc-core@11.0.2: + resolution: {integrity: sha512-kC+85+WIc/uKColIGzrnRjM47N+AjbujRkTf0n9ldwtAIYJnq+B09R3Qjmk+kXrdW5fes85L/WigqwkohMfNkw==} + engines: {node: '>=18'} + dependencies: + '@polkadot/rpc-augment': 11.0.2 + '@polkadot/rpc-provider': 11.0.2 + '@polkadot/types': 11.0.2 + '@polkadot/util': 12.6.2 + rxjs: 7.8.1 + tslib: 2.6.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + /@polkadot/rpc-core@7.15.1: resolution: {integrity: sha512-4Sb0e0PWmarCOizzxQAE1NQSr5z0n+hdkrq3+aPohGu9Rh4PodG+OWeIBy7Ov/3GgdhNQyBLG+RiVtliXecM3g==} engines: {node: '>=14.0.0'} @@ -3167,6 +3335,30 @@ packages: - supports-color - utf-8-validate + /@polkadot/rpc-provider@11.0.2: + resolution: {integrity: sha512-EHoWs27r+V8NKexawcTkDzSJtYAXmkz8/zge+Ctm0PzdxtP740U9xvbK7uZ0INXeLIPdKKk7n9lGib3fhnXRvQ==} + engines: {node: '>=18'} + dependencies: + '@polkadot/keyring': 12.6.2(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) + '@polkadot/types': 11.0.2 + '@polkadot/types-support': 11.0.2 + '@polkadot/util': 12.6.2 + '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) + '@polkadot/x-fetch': 12.6.2 + '@polkadot/x-global': 12.6.2 + '@polkadot/x-ws': 12.6.2 + eventemitter3: 5.0.1 + mock-socket: 9.3.1 + nock: 13.5.4 + tslib: 2.6.2 + optionalDependencies: + '@substrate/connect': 0.8.10 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + /@polkadot/rpc-provider@7.15.1: resolution: {integrity: sha512-n0RWfSaD/r90JXeJkKry1aGZwJeBUUiMpXUQ9Uvp6DYBbYEDs0fKtWLpdT3PdFrMbe5y3kwQmNLxwe6iF4+mzg==} engines: {node: '>=14.0.0'} @@ -3232,6 +3424,16 @@ packages: '@polkadot/util': 12.6.2 tslib: 2.6.2 + /@polkadot/types-augment@11.0.2: + resolution: {integrity: sha512-36C1LNWrd/IJu4y4xJFsklw7qmyBMnH16WLkIoma7W7tCkPyuvKpl9btTcNpY9UE0FLb3AEhO0shrz3KUANk/g==} + engines: {node: '>=18'} + dependencies: + '@polkadot/types': 11.0.2 + '@polkadot/types-codec': 11.0.2 + '@polkadot/util': 12.6.2 + tslib: 2.6.2 + dev: false + /@polkadot/types-augment@7.15.1: resolution: {integrity: sha512-aqm7xT/66TCna0I2utpIekoquKo0K5pnkA/7WDzZ6gyD8he2h0IXfe8xWjVmuyhjxrT/C/7X1aUF2Z0xlOCwzQ==} engines: {node: '>=14.0.0'} @@ -3269,6 +3471,15 @@ packages: '@polkadot/x-bigint': 12.6.2 tslib: 2.6.2 + /@polkadot/types-codec@11.0.2: + resolution: {integrity: sha512-OL7jM9JNzmRo+gLNIWllvyv3I4k+2dywKchC9gw/D5OCkFD+B5T3oHUw99zzER0C/r7/vTH9RM3w79yeW0UYKA==} + engines: {node: '>=18'} + dependencies: + '@polkadot/util': 12.6.2 + '@polkadot/x-bigint': 12.6.2 + tslib: 2.6.2 + dev: false + /@polkadot/types-codec@7.15.1: resolution: {integrity: sha512-nI11dT7FGaeDd/fKPD8iJRFGhosOJoyjhZ0gLFFDlKCaD3AcGBRTTY8HFJpP/5QXXhZzfZsD93fVKrosnegU0Q==} engines: {node: '>=14.0.0'} @@ -3303,6 +3514,15 @@ packages: '@polkadot/util': 12.6.2 tslib: 2.6.2 + /@polkadot/types-create@11.0.2: + resolution: {integrity: sha512-yx5Gef3QkbJjzbEGoyOxv74XslGEK1Uo0IC8qSmwHsqO2+QoAEU7uJ9QpSNxHAcRrjx1W3+MdJAsfXtnwOiOeQ==} + engines: {node: '>=18'} + dependencies: + '@polkadot/types-codec': 11.0.2 + '@polkadot/util': 12.6.2 + tslib: 2.6.2 + dev: false + /@polkadot/types-create@7.15.1: resolution: {integrity: sha512-+HiaHn7XOwP0kv/rVdORlVkNuMoxuvt+jd67A/CeEreJiXqRLu+S61Mdk7wi6719PTaOal1hTDFfyGrtUd8FSQ==} engines: {node: '>=14.0.0'} @@ -3344,6 +3564,18 @@ packages: '@polkadot/util': 12.6.2 tslib: 2.6.2 + /@polkadot/types-known@11.0.2: + resolution: {integrity: sha512-c89H2y2mMCjuf5X9tTadwHpJtnQvfVxlJLTlrGElfImzWNgRetIjH65Zgy/uh/I9LqTxRlk5y3ZhBMZgL/ybbg==} + engines: {node: '>=18'} + dependencies: + '@polkadot/networks': 12.6.2 + '@polkadot/types': 11.0.2 + '@polkadot/types-codec': 11.0.2 + '@polkadot/types-create': 11.0.2 + '@polkadot/util': 12.6.2 + tslib: 2.6.2 + dev: false + /@polkadot/types-known@4.17.1: resolution: {integrity: sha512-YkOwGrO+k9aVrBR8FgYHnfJKhOfpdgC5ZRYNL/xJ9oa7lBYqPts9ENAxeBmJS/5IGeDF9f32MNyrCP2umeCXWg==} engines: {node: '>=14.0.0'} @@ -3403,6 +3635,14 @@ packages: '@polkadot/util': 12.6.2 tslib: 2.6.2 + /@polkadot/types-support@11.0.2: + resolution: {integrity: sha512-p26QwtEniCyqUX9WoMtEp5LRdrmvvUf8s8Dx6P3W8/lU+hYeKQjeGCudWoudSXIYpsfTliLEowoxmjx4Wn4GIw==} + engines: {node: '>=18'} + dependencies: + '@polkadot/util': 12.6.2 + tslib: 2.6.2 + dev: false + /@polkadot/types-support@7.15.1: resolution: {integrity: sha512-FIK251ffVo+NaUXLlaJeB5OvT7idDd3uxaoBM6IwsS87rzt2CcWMyCbu0uX89AHZUhSviVx7xaBxfkGEqMePWA==} engines: {node: '>=14.0.0'} @@ -3446,6 +3686,20 @@ packages: rxjs: 7.8.1 tslib: 2.6.2 + /@polkadot/types@11.0.2: + resolution: {integrity: sha512-jYORxnbR9cOoLW2KI7OAbHlC8bQr+Anj34CqgtlEikRSZBlmmx1CLD08hZSnSHkVAQgqHB6SLfFIW5VTI2YaqA==} + engines: {node: '>=18'} + dependencies: + '@polkadot/keyring': 12.6.2(@polkadot/util-crypto@12.6.2)(@polkadot/util@12.6.2) + '@polkadot/types-augment': 11.0.2 + '@polkadot/types-codec': 11.0.2 + '@polkadot/types-create': 11.0.2 + '@polkadot/util': 12.6.2 + '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2) + rxjs: 7.8.1 + tslib: 2.6.2 + dev: false + /@polkadot/types@4.17.1: resolution: {integrity: sha512-rjW4OFdwvFekzN3ATLibC2JPSd8AWt5YepJhmuCPdwH26r3zB8bEC6dM7YQExLVUmygVPvgXk5ffHI6RAdXBMg==} engines: {node: '>=14.0.0'} @@ -4147,8 +4401,8 @@ packages: - utf-8-validate dev: true - /@poppyseed/squid-sdk@0.2.1(@subsquid/substrate-runtime@1.0.3)(typeorm@0.3.20): - resolution: {integrity: sha512-UMu6E+ZKQTSJyoRR4QrJNQ67ChzhzaabQZdHCru9quQfXHHAXp7efoqYGwy29h1/46Bjm4o1TSglxm4qHvaWwQ==} + /@poppyseed/squid-sdk@0.2.2(@subsquid/substrate-runtime@1.0.3)(typeorm@0.3.20): + resolution: {integrity: sha512-wrwJWcsqQ2GFT7Ky0i1y9+iDeNJqlkmCm669kj/yBPLcuURQqAD4EzjX+3n59N/iiNUOgkxid0Sw4zI1buZbXA==} dependencies: '@kodadot1/static': 0.0.3 '@subsquid/archive-registry': 3.3.2 @@ -4257,128 +4511,128 @@ packages: reselect: 5.1.0 dev: false - /@rollup/rollup-android-arm-eabi@4.16.3: - resolution: {integrity: sha512-1ACInKIT0pXmTYuPoJAL8sOT0lV3PEACFSVxnD03hGIojJ1CmbzZmLJyk2xew+yxqTlmx7xydkiJcBzdp0V+AQ==} + /@rollup/rollup-android-arm-eabi@4.16.4: + resolution: {integrity: sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.16.3: - resolution: {integrity: sha512-vGl+Bny8cawCM7ExugzqEB8ke3t7Pm9/mo+ciA9kJh6pMuNyM+31qhewMwHwseDZ/LtdW0SCocW1CsMxcq1Lsg==} + /@rollup/rollup-android-arm64@4.16.4: + resolution: {integrity: sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.16.3: - resolution: {integrity: sha512-Lj8J9WzQRvfWO4GfI+bBkIThUFV1PtI+es/YH/3cwUQ+edXu8Mre0JRJfRrAeRjPiHDPFFZaX51zfgHHEhgRAg==} + /@rollup/rollup-darwin-arm64@4.16.4: + resolution: {integrity: sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.16.3: - resolution: {integrity: sha512-NPPOXMTIWJk50lgZmRReEYJFvLG5rgMDzaVauWNB2MgFQYm9HuNXQdVVg3iEZ3A5StIzxhMlPjVyS5fsv4PJmg==} + /@rollup/rollup-darwin-x64@4.16.4: + resolution: {integrity: sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.16.3: - resolution: {integrity: sha512-ij4tv1XtWcDScaTgoMnvDEYZ2Wjl2ZhDFEyftjBKu6sNNLHIkKuXBol/bVSh+md5zSJ6em9hUXyPO3cVPCsl4Q==} + /@rollup/rollup-linux-arm-gnueabihf@4.16.4: + resolution: {integrity: sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-musleabihf@4.16.3: - resolution: {integrity: sha512-MTMAl30dzcfYB+smHe1sJuS2P1/hB8pqylkCe0/8/Lo8CADjy/eM8x43nBoR5eqcYgpOtCh7IgHpvqSMAE38xw==} + /@rollup/rollup-linux-arm-musleabihf@4.16.4: + resolution: {integrity: sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.16.3: - resolution: {integrity: sha512-vY3fAg6JLDoNh781HHHMPvt8K6RWG3OmEj3xI9BOFSQTD5PNaGKvCB815MyGlDnFYUw7lH+WvvQqoBwLtRDR1A==} + /@rollup/rollup-linux-arm64-gnu@4.16.4: + resolution: {integrity: sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.16.3: - resolution: {integrity: sha512-61SpQGBSb8QkfV/hUYWezlEig4ro55t8NcE5wWmy1bqRsRVHCEDkF534d+Lln/YeLUoSWtJHvvG3bx9lH/S6uA==} + /@rollup/rollup-linux-arm64-musl@4.16.4: + resolution: {integrity: sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.16.3: - resolution: {integrity: sha512-4XGexJthsNhEEgv/zK4/NnAOjYKoeCsIoT+GkqTY2u3rse0lbJ8ft1bpDCdlkvifsLDL2uwe4fn8PLR4IMTKQQ==} + /@rollup/rollup-linux-powerpc64le-gnu@4.16.4: + resolution: {integrity: sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.16.3: - resolution: {integrity: sha512-/pArXjqnEdhbQ1qe4CTTlJ6/GjWGdWNRucKAp4fqKnKf7QC0BES3QEV34ACumHHQ4uEGt4GctF2ISCMRhkli0A==} + /@rollup/rollup-linux-riscv64-gnu@4.16.4: + resolution: {integrity: sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.16.3: - resolution: {integrity: sha512-vu4f3Y8iwjtRfSZdmtP8nC1jmRx1IrRVo2cLQlQfpFZ0e2AE9YbPgfIzpuK+i3C4zFETaLLNGezbBns2NuS/uA==} + /@rollup/rollup-linux-s390x-gnu@4.16.4: + resolution: {integrity: sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==} cpu: [s390x] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.16.3: - resolution: {integrity: sha512-n4HEgIJulNSmAKT3SYF/1wuzf9od14woSBseNkzur7a+KJIbh2Jb+J9KIsdGt3jJnsLW0BT1Sj6MiwL4Zzku6Q==} + /@rollup/rollup-linux-x64-gnu@4.16.4: + resolution: {integrity: sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.16.3: - resolution: {integrity: sha512-guO/4N1884ig2AzTKPc6qA7OTnFMUEg/X2wiesywRO1eRD7FzHiaiTQQOLFmnUXWj2pgQXIT1g5g3e2RpezXcQ==} + /@rollup/rollup-linux-x64-musl@4.16.4: + resolution: {integrity: sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.16.3: - resolution: {integrity: sha512-+rxD3memdkhGz0NhNqbYHXBoA33MoHBK4uubZjF1IeQv1Psi6tqgsCcC6vwQjxBM1qoCqOQQBy0cgNbbZKnGUg==} + /@rollup/rollup-win32-arm64-msvc@4.16.4: + resolution: {integrity: sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.16.3: - resolution: {integrity: sha512-0NxVbLhBXmwANWWbgZY/RdSkeuHEgF+u8Dc0qBowUVBYsR2y2vwVGjKgUcj1wtu3jpjs057io5g9HAPr3Icqjg==} + /@rollup/rollup-win32-ia32-msvc@4.16.4: + resolution: {integrity: sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.16.3: - resolution: {integrity: sha512-hutnZavtOx/G4uVdgoZz5279By9NVbgmxOmGGgnzUjZYuwp2+NzGq6KXQmHXBWz7W/vottXn38QmKYAdQLa/vQ==} + /@rollup/rollup-win32-x64-msvc@4.16.4: + resolution: {integrity: sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==} cpu: [x64] os: [win32] requiresBuild: true @@ -4426,7 +4680,7 @@ packages: /@subsocial/definitions@0.8.13: resolution: {integrity: sha512-P6uCfkdsvlg3kqk+31UfvGFshZGBGtZqfemLVzpZIR6YNwXutKuII6oAwgWTDg36owjP6pHLCKxI5nDk89uKew==} dependencies: - '@polkadot/api': 10.13.1 + '@polkadot/api': 11.0.2 lodash.camelcase: 4.3.0 transitivePeerDependencies: - bufferutil @@ -4869,6 +5123,20 @@ packages: dev: true optional: true + /@substrate/connect@0.8.10: + resolution: {integrity: sha512-DIyQ13DDlXqVFnLV+S6/JDgiGowVRRrh18kahieJxhgvzcWicw5eLc6jpfQ0moVVLBYkO7rctB5Wreldwpva8w==} + requiresBuild: true + dependencies: + '@substrate/connect-extension-protocol': 2.0.0 + '@substrate/connect-known-chains': 1.1.4 + '@substrate/light-client-extension-helpers': 0.0.6(smoldot@2.0.22) + smoldot: 2.0.22 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + optional: true + /@substrate/connect@0.8.8: resolution: {integrity: sha512-zwaxuNEVI9bGt0rT8PEJiXOyebLIo6QN1SyiAHRPBOl6g3Sy0KKdSN8Jmyn++oXhVRD8aIe75/V8ZkS81T+BPQ==} requiresBuild: true @@ -4898,6 +5166,23 @@ packages: smoldot: 2.0.22 optional: true + /@substrate/light-client-extension-helpers@0.0.6(smoldot@2.0.22): + resolution: {integrity: sha512-girltEuxQ1BvkJWmc8JJlk4ZxnlGXc/wkLcNguhY+UoDEMBK0LsdtfzQKIfrIehi4QdeSBlFEFBoI4RqPmsZzA==} + requiresBuild: true + peerDependencies: + smoldot: 2.x + dependencies: + '@polkadot-api/json-rpc-provider': 0.0.1 + '@polkadot-api/json-rpc-provider-proxy': 0.0.1 + '@polkadot-api/observable-client': 0.1.0(rxjs@7.8.1) + '@polkadot-api/substrate-client': 0.0.1 + '@substrate/connect-extension-protocol': 2.0.0 + '@substrate/connect-known-chains': 1.1.4 + rxjs: 7.8.1 + smoldot: 2.0.22 + dev: false + optional: true + /@substrate/smoldot-light@0.6.8: resolution: {integrity: sha512-9lVwbG6wrtss0sd6013BJGe4WN4taujsGG49pwyt1Lj36USeL2Sb164TTUxmZF/g2NQEqDPwPROBdekQ2gFmgg==} dependencies: @@ -5903,7 +6188,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001612 - electron-to-chromium: 1.4.746 + electron-to-chromium: 1.4.748 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) dev: true @@ -6677,8 +6962,8 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: false - /electron-to-chromium@1.4.746: - resolution: {integrity: sha512-jeWaIta2rIG2FzHaYIhSuVWqC6KJYo7oSBX4Jv7g+aVujKztfvdpf+n6MGwZdC5hQXbax4nntykLH2juIQrfPg==} + /electron-to-chromium@1.4.748: + resolution: {integrity: sha512-VWqjOlPZn70UZ8FTKUOkUvBLeTQ0xpty66qV0yJcAGY2/CthI4xyW9aEozRVtuwv3Kpf5xTesmJUcPwuJmgP4A==} dev: true /elliptic@6.5.4: @@ -9962,29 +10247,29 @@ packages: inherits: 2.0.4 dev: false - /rollup@4.16.3: - resolution: {integrity: sha512-Ygm4fFO4usWcAG3Ud36Lmif5nudoi0X6QPLC+kRgrRjulAbmFkaTawP7fTIkRDnCNSf/4IAQzXM1T8e691kRtw==} + /rollup@4.16.4: + resolution: {integrity: sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.16.3 - '@rollup/rollup-android-arm64': 4.16.3 - '@rollup/rollup-darwin-arm64': 4.16.3 - '@rollup/rollup-darwin-x64': 4.16.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.16.3 - '@rollup/rollup-linux-arm-musleabihf': 4.16.3 - '@rollup/rollup-linux-arm64-gnu': 4.16.3 - '@rollup/rollup-linux-arm64-musl': 4.16.3 - '@rollup/rollup-linux-powerpc64le-gnu': 4.16.3 - '@rollup/rollup-linux-riscv64-gnu': 4.16.3 - '@rollup/rollup-linux-s390x-gnu': 4.16.3 - '@rollup/rollup-linux-x64-gnu': 4.16.3 - '@rollup/rollup-linux-x64-musl': 4.16.3 - '@rollup/rollup-win32-arm64-msvc': 4.16.3 - '@rollup/rollup-win32-ia32-msvc': 4.16.3 - '@rollup/rollup-win32-x64-msvc': 4.16.3 + '@rollup/rollup-android-arm-eabi': 4.16.4 + '@rollup/rollup-android-arm64': 4.16.4 + '@rollup/rollup-darwin-arm64': 4.16.4 + '@rollup/rollup-darwin-x64': 4.16.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.16.4 + '@rollup/rollup-linux-arm-musleabihf': 4.16.4 + '@rollup/rollup-linux-arm64-gnu': 4.16.4 + '@rollup/rollup-linux-arm64-musl': 4.16.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.16.4 + '@rollup/rollup-linux-riscv64-gnu': 4.16.4 + '@rollup/rollup-linux-s390x-gnu': 4.16.4 + '@rollup/rollup-linux-x64-gnu': 4.16.4 + '@rollup/rollup-linux-x64-musl': 4.16.4 + '@rollup/rollup-win32-arm64-msvc': 4.16.4 + '@rollup/rollup-win32-ia32-msvc': 4.16.4 + '@rollup/rollup-win32-x64-msvc': 4.16.4 fsevents: 2.3.3 dev: true @@ -10749,7 +11034,7 @@ packages: postcss: 8.4.38 postcss-load-config: 4.0.2(postcss@8.4.38) resolve-from: 5.0.0 - rollup: 4.16.3 + rollup: 4.16.4 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 diff --git a/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx b/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx index 52f2a0de..bde1abf8 100644 --- a/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx +++ b/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx @@ -8,67 +8,91 @@ import CoreItemExtensive from '@/components/cores/CoreItemExtensive' import TimelineComponent from '@/components/timelineComp/TimelineComp' import TimelineUtilizeCore from '@/components/timelineComp/TimelineUtilizeCore' import WalletStatus from '@/components/walletStatus/WalletStatus' +import { network_list } from '@/config/network' import { parseNativeTokenToHuman } from '@/utils/account/token' +import { calculateCurrentPrice, saleStatus, useCurrentBlockNumber } from '@/utils/broker' +import { getChainFromPath } from '@/utils/common/chainPath' import { - calculateCurrentPrice, - saleStatus, - useBrokerConstants, - useCurrentBlockNumber, - useQuerySpecificRegion, - useSubstrateQuery, -} from '@/utils/broker' -import { - ConfigurationType, - SaleInfoType, - StatusType, blockTimeToUTC, getCurrentBlockNumber, useBalance, useInkathon, } from '@poppyseed/lastic-sdk' +import { + CoreOwnerEvent, + GraphLike, + GraphQuery, + SaleInitializedEvent, + getClient, +} from '@poppyseed/squid-sdk' +import { usePathname } from 'next/navigation' import { FC, useEffect, useMemo, useState } from 'react' interface BrokerRegionDataProps { coreNb: number - regionId: number - mask?: string + beginRegion: number + mask: string } -const BrokerRegionData: FC = ({ coreNb, regionId, mask }) => { - const { activeAccount, relayApi, activeChain, api } = useInkathon() +const BrokerRegionData: FC = ({ coreNb, beginRegion, mask }) => { + const { activeAccount, relayApi, activeRelayChain, activeChain, api } = useInkathon() let { tokenSymbol, tokenDecimals } = useBalance(activeAccount?.address, true) - const region = useQuerySpecificRegion({ api, coreNb, regionId, mask }) + const [region, setRegionResult] = useState(null) + const [currentSaleRegion, setCurrentSaleRegion] = useState(null) + const client = useMemo(() => getClient(), []) + const network = activeRelayChain?.network + const pathname = usePathname() + const configuration = network_list[getChainFromPath(pathname)].configuration + const brokerConstants = network_list[getChainFromPath(pathname)].constants + + //const region = useQuerySpecificRegion({ api, coreNb, regionId: beginRegion, mask }) const currentBlockNumber = useCurrentBlockNumber(api) - const saleInfoString = useSubstrateQuery(api, 'saleInfo') - const configurationString = useSubstrateQuery(api, 'configuration') - const statusString = useSubstrateQuery(api, 'status') + let query: GraphQuery + + useMemo(() => { + query = client.eventAllSaleInitialized(1) + if (network && query) { + const fetchData = async () => { + const fetchedResult: GraphLike = await client.fetch(network, query) + const currentSaleRegion: SaleInitializedEvent | null = fetchedResult?.data.event + ? fetchedResult.data.event[0] + : null + setCurrentSaleRegion(currentSaleRegion) + } - const { brokerConstants, isLoading: isConstantsLoading } = useBrokerConstants(api) + fetchData() + } + }, [network, client]) - const saleInfo = useMemo( - () => (saleInfoString ? (JSON.parse(saleInfoString) as SaleInfoType) : null), - [saleInfoString], - ) - const configuration = useMemo( - () => (configurationString ? (JSON.parse(configurationString) as ConfigurationType) : null), - [configurationString], - ) - const status = useMemo( - () => (statusString ? (JSON.parse(statusString) as StatusType) : null), - [statusString], - ) + useEffect(() => { + if (activeAccount && currentSaleRegion && configuration) { + if (currentSaleRegion.regionBegin) { + query = client.eventSpecificRegionCoreOwner(coreNb, beginRegion, mask) + } + } + + if (network && query) { + const fetchData = async () => { + const fetchedResult: GraphLike = await client.fetch(network, query) + const region = fetchedResult?.data.event ? fetchedResult.data.event[0] : null + setRegionResult(region) + } + + fetchData() + } + }, [activeAccount, network, currentSaleRegion, client]) // Update saleStage every second based on the currentBlockNumber const [saleStage, setSaleStage] = useState('') const [saleTitle, setSaleTitle] = useState('') const [timeRemaining, setTimeRemaining] = useState('') useEffect(() => { - if (saleInfo && configuration && brokerConstants) { + if (currentSaleRegion && configuration && brokerConstants) { const { statusMessage, timeRemaining, statusTitle } = saleStatus( currentBlockNumber, - saleInfo, + currentSaleRegion, configuration, brokerConstants, ) @@ -76,7 +100,7 @@ const BrokerRegionData: FC = ({ coreNb, regionId, mask }) setSaleTitle(statusTitle) setSaleStage(statusMessage) } - }, [currentBlockNumber, saleInfo, configuration, brokerConstants]) + }, [currentBlockNumber, currentSaleRegion, configuration, brokerConstants]) const [regionBeginTimestamp, setRegionBeginTimestamp] = useState(null) const [regionEndTimestamp, setRegionEndTimestamp] = useState(null) @@ -90,12 +114,23 @@ const BrokerRegionData: FC = ({ coreNb, regionId, mask }) useEffect(() => { const fetchRegionTimestamps = async () => { try { - if (saleInfo && brokerConstants) { + if ( + currentSaleRegion && + currentSaleRegion.regionBegin && + currentSaleRegion.regionEnd && + brokerConstants + ) { const beginTimestamp = relayApi - ? await blockTimeToUTC(relayApi, saleInfo.regionBegin * brokerConstants.timeslicePeriod) + ? await blockTimeToUTC( + relayApi, + currentSaleRegion.regionBegin * brokerConstants.timeslicePeriod, + ) : null const endTimestamp = relayApi - ? await blockTimeToUTC(relayApi, saleInfo.regionEnd * brokerConstants.timeslicePeriod) + ? await blockTimeToUTC( + relayApi, + currentSaleRegion.regionEnd * brokerConstants.timeslicePeriod, + ) : null const getCurrentRelayBlock = relayApi ? await getCurrentBlockNumber(relayApi) : null @@ -109,9 +144,9 @@ const BrokerRegionData: FC = ({ coreNb, regionId, mask }) } fetchRegionTimestamps() - }, [relayApi, saleInfo, brokerConstants]) + }, [relayApi, brokerConstants]) - if (!activeChain || !activeAccount || !api || !relayApi) { + if (!activeChain || !activeAccount || !api || !relayApi || !configuration) { return ( @@ -119,14 +154,19 @@ const BrokerRegionData: FC = ({ coreNb, regionId, mask }) ) } + let currentPrice = calculateCurrentPrice(currentBlockNumber, currentSaleRegion, configuration) + if ( !region || - !saleInfo || !configuration || - !status || + !currentSaleRegion || !currentRelayBlock || !brokerConstants || - isConstantsLoading + !region.duration || + !region.regionId.core || + !region.regionId.begin || + !region.regionId.mask || + !region.owner ) { return ( @@ -140,8 +180,6 @@ const BrokerRegionData: FC = ({ coreNb, regionId, mask }) ) } - let currentPrice = calculateCurrentPrice(currentBlockNumber, saleInfo, configuration) - return ( <> @@ -150,16 +188,16 @@ const BrokerRegionData: FC = ({ coreNb, regionId, mask })
@@ -183,7 +221,7 @@ const BrokerRegionData: FC = ({ coreNb, regionId, mask }) @@ -194,7 +232,7 @@ const BrokerRegionData: FC = ({ coreNb, regionId, mask }) @@ -204,7 +242,7 @@ const BrokerRegionData: FC = ({ coreNb, regionId, mask })
- {region.owner.owner === activeAccount.address ? ( + {region.owner === activeAccount.address ? ( <>
This core is yours. You are able to: @@ -278,9 +316,9 @@ const BrokerRegionData: FC = ({ coreNb, regionId, mask }) isOpen={isTransferModalOpen} onClose={() => setIsTransferModalOpen(false)} regionId={{ - begin: region.detail[0].begin.replace(/,/g, ''), - core: region.detail[0].core, - mask: region.detail[0].mask, + begin: region.regionId.begin.toString(), + core: region.regionId.core.toString(), + mask: region.regionId.mask, }} /> @@ -288,9 +326,9 @@ const BrokerRegionData: FC = ({ coreNb, regionId, mask }) isOpen={isAssignModalOpen} onClose={() => setIsAssignModalOpen(false)} regionId={{ - begin: region.detail[0].begin.replace(/,/g, ''), - core: region.detail[0].core, - mask: region.detail[0].mask, + begin: region.regionId.begin.toString(), + core: region.regionId.core.toString(), + mask: region.regionId.mask, }} /> @@ -298,9 +336,9 @@ const BrokerRegionData: FC = ({ coreNb, regionId, mask }) isOpen={isPartitionModalOpen} onClose={() => setIsPartitionModalOpen(false)} regionId={{ - begin: region.detail[0].begin.replace(/,/g, ''), - core: region.detail[0].core, - mask: region.detail[0].mask, + begin: region.regionId.begin.toString(), + core: region.regionId.core.toString(), + mask: region.regionId.mask, }} /> @@ -308,9 +346,9 @@ const BrokerRegionData: FC = ({ coreNb, regionId, mask }) isOpen={isInterlaceModalOpen} onClose={() => setIsInterlaceModalOpen(false)} regionId={{ - begin: region.detail[0].begin.replace(/,/g, ''), - core: region.detail[0].core, - mask: region.detail[0].mask, + begin: region.regionId.begin.toString(), + core: region.regionId.core.toString(), + mask: region.regionId.mask, }} /> diff --git a/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/page.tsx b/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/page.tsx index 4a6e2ea8..cdaa10ab 100644 --- a/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/page.tsx +++ b/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/page.tsx @@ -10,12 +10,12 @@ export default function PageCore({ params: { number: string; regionId: string; mask: string } }) { const CoreNb = parseInt(params.number) - const RegionId = parseInt(params.regionId) + const BeginRegion = parseInt(params.regionId) return ( <>
- +
diff --git a/src/components/cores/CoreItemExtensive.tsx b/src/components/cores/CoreItemExtensive.tsx index 25ec816c..ad2fca84 100644 --- a/src/components/cores/CoreItemExtensive.tsx +++ b/src/components/cores/CoreItemExtensive.tsx @@ -7,14 +7,14 @@ interface CardProps { timeBought: string owner: string amITheOwner: boolean - paid: string - coreNumber: string + paid: bigint | null + coreNumber: number phase: string cost: string currencyCost: string mask: string - begin: string - end: string + begin: number + end: number } const CoreItemExtensive: React.FC = ({ diff --git a/src/components/timelineComp/TimelineComp.tsx b/src/components/timelineComp/TimelineComp.tsx index f2d0d18e..bdc6faab 100644 --- a/src/components/timelineComp/TimelineComp.tsx +++ b/src/components/timelineComp/TimelineComp.tsx @@ -1,10 +1,11 @@ -import { BrokerConstantsType, ConfigurationType, SaleInfoType } from '@poppyseed/lastic-sdk' +import { BrokerConstantsType, ConfigurationType } from '@poppyseed/lastic-sdk' +import { SaleInitializedEvent } from '@poppyseed/squid-sdk' import { FC } from 'react' // Additional interfaces, which should be defined according to your data structure type SliderPropeTypes = { currentBlockNumber: number - saleInfo: SaleInfoType + saleInfo: SaleInitializedEvent config: ConfigurationType constants: BrokerConstantsType } diff --git a/src/utils/broker/index.ts b/src/utils/broker/index.ts index 5c1a7a7d..b2ab29b8 100644 --- a/src/utils/broker/index.ts +++ b/src/utils/broker/index.ts @@ -1,11 +1,7 @@ import { QueryParams, Region, RegionDetail, RegionOwner, RegionsType } from '@/types/broker' import { ApiPromise } from '@polkadot/api' -import { - BrokerConstantsType, - ConfigurationType, - SaleInfoType, - getConstants, -} from '@poppyseed/lastic-sdk' +import { BrokerConstantsType, ConfigurationType, getConstants } from '@poppyseed/lastic-sdk' +import { SaleInitializedEvent } from '@poppyseed/squid-sdk' import { useEffect, useState } from 'react' import { getCurrentBlockNumber } from './blockTime' @@ -159,15 +155,19 @@ export function useBrokerConstants(api: ApiPromise | undefined) { export function calculateCurrentPrice( currentBlockNumber: number, - saleInfo: SaleInfoType, + saleInfo: SaleInitializedEvent | null, config: ConfigurationType, ): number { + if (!saleInfo || !saleInfo.saleStart || !saleInfo.regularPrice) return 0 if ( currentBlockNumber < saleInfo.saleStart + config.leadinLength && currentBlockNumber > saleInfo.saleStart ) { - return saleInfo.price * (2 - (currentBlockNumber - saleInfo.saleStart) / config.leadinLength) + return ( + Number(saleInfo.regularPrice) * + (2 - (currentBlockNumber - saleInfo.saleStart) / config.leadinLength) + ) } else { - return saleInfo.price + return Number(saleInfo.regularPrice) } } diff --git a/src/utils/broker/saleStatus.ts b/src/utils/broker/saleStatus.ts index 4cc623f7..474aa362 100644 --- a/src/utils/broker/saleStatus.ts +++ b/src/utils/broker/saleStatus.ts @@ -1,5 +1,6 @@ -import { BrokerConstantsType, ConfigurationType, SaleInfoType } from '@poppyseed/lastic-sdk' +import { BrokerConstantsType, ConfigurationType } from '@poppyseed/lastic-sdk' +import { SaleInitializedEvent } from '@poppyseed/squid-sdk' import { blocksToTimeFormat } from './blockTime' export enum StatusCode { @@ -32,11 +33,12 @@ const statusInfoMap: Record = { // Non-exported util functions for saleStatus function getSaleEnds( - saleInfo: SaleInfoType, + saleInfo: SaleInitializedEvent, config: ConfigurationType, constant: BrokerConstantsType, ): number { // The logic assumes that the coretime chain runs 2 times slower then the relay chain + if (!saleInfo.saleStart) return 0 return ( saleInfo.saleStart + (config.regionLength * constant.timeslicePeriod) / 2 - @@ -46,7 +48,7 @@ function getSaleEnds( function calculateTimeRemaining( currentBlockNumber: number, - saleInfo: SaleInfoType, + saleInfo: SaleInitializedEvent, config: ConfigurationType, constant: BrokerConstantsType, statusCode: StatusCode, @@ -55,19 +57,22 @@ function calculateTimeRemaining( switch (statusCode) { case StatusCode.Interlude: - return blocksToTimeFormat(saleInfo.saleStart - currentBlockNumber, 'PARA') + return saleInfo.saleStart + ? blocksToTimeFormat(saleInfo.saleStart - currentBlockNumber, 'PARA') + : '-' case StatusCode.LeadIn: - return blocksToTimeFormat( - saleInfo.saleStart + config.leadinLength - currentBlockNumber, - 'PARA', - ) + return saleInfo.saleStart + ? blocksToTimeFormat(saleInfo.saleStart + config.leadinLength - currentBlockNumber, 'PARA') + : '-' case StatusCode.Purchase: - return blocksToTimeFormat( - saleInfo.saleStart + - (config.regionLength * constant.timeslicePeriod) / 2 - - currentBlockNumber, - 'PARA', - ) + return saleInfo.saleStart + ? blocksToTimeFormat( + saleInfo.saleStart + + (config.regionLength * constant.timeslicePeriod) / 2 - + currentBlockNumber, + 'PARA', + ) + : '-' default: return '-' } @@ -75,9 +80,10 @@ function calculateTimeRemaining( function determineStatusCode( currentBlockNumber: number, - saleInfo: SaleInfoType, + saleInfo: SaleInitializedEvent, config: ConfigurationType, ): StatusCode { + if (!saleInfo.saleStart) return StatusCode.Interlude if (currentBlockNumber < saleInfo.saleStart) return StatusCode.Interlude if (currentBlockNumber < saleInfo.saleStart + config.leadinLength) return StatusCode.LeadIn return StatusCode.Purchase @@ -87,7 +93,7 @@ function determineStatusCode( export function saleStatus( currentBlockNumber: number, - saleInfo: SaleInfoType, + saleInfo: SaleInitializedEvent, config: ConfigurationType, constant: BrokerConstantsType, ): { From 1504a7557a5013d3ed5b5dcad4b60acb16b908b0 Mon Sep 17 00:00:00 2001 From: Aurora Poppyseed Date: Wed, 24 Apr 2024 23:20:24 +0200 Subject: [PATCH 06/19] fixing --- package.json | 2 +- pnpm-lock.yaml | 8 ++++---- src/app/[network]/(App)/bulkcore1/CoreOwners.tsx | 2 +- src/components/cores/CoreItemExtensive.tsx | 2 +- src/components/timelineComp/TimelineComp.tsx | 5 ++++- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 680832bd..f6a7c335 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "@mui/x-date-pickers": "^6.19.9", "@paraspell/sdk": "^4.1.1", "@polkadot/api-base": "^10.13.1", - "@poppyseed/squid-sdk": "^0.2.2", + "@poppyseed/squid-sdk": "^0.2.3", "@poppyseed/xcm-sdk": "^4.0.1", "@reduxjs/toolkit": "^2.2.3", "animate.css": "^4.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6f777ea7..901e9829 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,8 +39,8 @@ dependencies: specifier: ^10.13.1 version: 10.13.1 '@poppyseed/squid-sdk': - specifier: ^0.2.2 - version: 0.2.2(@subsquid/substrate-runtime@1.0.3)(typeorm@0.3.20) + specifier: ^0.2.3 + version: 0.2.3(@subsquid/substrate-runtime@1.0.3)(typeorm@0.3.20) '@poppyseed/xcm-sdk': specifier: ^4.0.1 version: 4.0.1(@polkadot/api-base@10.13.1)(@polkadot/api@10.13.1)(@polkadot/apps-config@0.133.1)(@polkadot/types@10.13.1)(@polkadot/util@12.6.2) @@ -4401,8 +4401,8 @@ packages: - utf-8-validate dev: true - /@poppyseed/squid-sdk@0.2.2(@subsquid/substrate-runtime@1.0.3)(typeorm@0.3.20): - resolution: {integrity: sha512-wrwJWcsqQ2GFT7Ky0i1y9+iDeNJqlkmCm669kj/yBPLcuURQqAD4EzjX+3n59N/iiNUOgkxid0Sw4zI1buZbXA==} + /@poppyseed/squid-sdk@0.2.3(@subsquid/substrate-runtime@1.0.3)(typeorm@0.3.20): + resolution: {integrity: sha512-bBDP9/+taSyQx+5DZ21pvcYIwVgucso1x51vHxmSzJnVk2itbL0z31TWU+A62TKzTKHC9RTZ/TtTqkZ+j2iAMg==} dependencies: '@kodadot1/static': 0.0.3 '@subsquid/archive-registry': 3.3.2 diff --git a/src/app/[network]/(App)/bulkcore1/CoreOwners.tsx b/src/app/[network]/(App)/bulkcore1/CoreOwners.tsx index dc7e1be0..be9992bf 100644 --- a/src/app/[network]/(App)/bulkcore1/CoreOwners.tsx +++ b/src/app/[network]/(App)/bulkcore1/CoreOwners.tsx @@ -31,7 +31,7 @@ const PastTransactions = () => { } fetchData() - }, []) // Add offset to the dependency array + }, [activeRelayChain?.network, client, offset]) // Add offset to the dependency array const TableHeader = [ { title: 'Time' }, diff --git a/src/components/cores/CoreItemExtensive.tsx b/src/components/cores/CoreItemExtensive.tsx index ad2fca84..c664c9af 100644 --- a/src/components/cores/CoreItemExtensive.tsx +++ b/src/components/cores/CoreItemExtensive.tsx @@ -7,7 +7,7 @@ interface CardProps { timeBought: string owner: string amITheOwner: boolean - paid: bigint | null + paid: string | null coreNumber: number phase: string cost: string diff --git a/src/components/timelineComp/TimelineComp.tsx b/src/components/timelineComp/TimelineComp.tsx index bdc6faab..a69db1fe 100644 --- a/src/components/timelineComp/TimelineComp.tsx +++ b/src/components/timelineComp/TimelineComp.tsx @@ -11,6 +11,7 @@ type SliderPropeTypes = { } const Slider: FC = ({ currentBlockNumber, saleInfo, config, constants }) => { + if (!saleInfo.saleStart || !saleInfo.regularPrice) return null const saleDuration = (config.regionLength * constants.timeslicePeriod) / 2 // Calculate percentages for each period @@ -60,7 +61,9 @@ const Slider: FC = ({ currentBlockNumber, saleInfo, config, co className="absolute top-0 -mt-1" style={{ left: `${(safeLeadinPercentage + 100) / 2}%` }} > -

Stable price = {saleInfo.price / 10 ** 12}

+

+ Stable price = {Number(saleInfo.regularPrice) / 10 ** 12} +

{/* Marker for Purchase Period */}
From 0691236f20518666d4bebda32a5b6e2ea8a3d466 Mon Sep 17 00:00:00 2001 From: Aurora Poppyseed Date: Wed, 24 Apr 2024 23:23:14 +0200 Subject: [PATCH 07/19] regions work --- .../[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx b/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx index bde1abf8..76bfe2de 100644 --- a/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx +++ b/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx @@ -144,7 +144,7 @@ const BrokerRegionData: FC = ({ coreNb, beginRegion, mask } fetchRegionTimestamps() - }, [relayApi, brokerConstants]) + }, [relayApi, brokerConstants, currentSaleRegion]) if (!activeChain || !activeAccount || !api || !relayApi || !configuration) { return ( From c663bfdf075c3efd722aa731e70da00b87a9bf52 Mon Sep 17 00:00:00 2001 From: Aurora Poppyseed Date: Wed, 24 Apr 2024 23:31:41 +0200 Subject: [PATCH 08/19] adding additional information --- .../core/[number]/[regionId]/[mask]/Core.tsx | 1 + src/components/cores/CoreItemExtensive.tsx | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx b/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx index 76bfe2de..047426a3 100644 --- a/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx +++ b/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx @@ -198,6 +198,7 @@ const BrokerRegionData: FC = ({ coreNb, beginRegion, mask mask={region.regionId.mask} begin={region.regionId.begin} end={region.duration + region.regionId.begin} + region={region} />
diff --git a/src/components/cores/CoreItemExtensive.tsx b/src/components/cores/CoreItemExtensive.tsx index c664c9af..ecc798c6 100644 --- a/src/components/cores/CoreItemExtensive.tsx +++ b/src/components/cores/CoreItemExtensive.tsx @@ -1,5 +1,6 @@ // components/Card.tsx import { parseNativeTokenToHuman, toShortAddress } from '@/utils/account/token' +import { CoreOwnerEvent } from '@poppyseed/squid-sdk' import Image from 'next/image' import React from 'react' @@ -15,6 +16,7 @@ interface CardProps { mask: string begin: number end: number + region: CoreOwnerEvent } const CoreItemExtensive: React.FC = ({ @@ -29,6 +31,7 @@ const CoreItemExtensive: React.FC = ({ mask, begin, end, + region, }) => { return ( <> @@ -47,12 +50,14 @@ const CoreItemExtensive: React.FC = ({
- Paid: {parseNativeTokenToHuman({ paid: paid, decimals: 12 })} {currencyCost} + Paid: {parseNativeTokenToHuman({ paid: paid, decimals: 12, reduceDecimals: 6 })}{' '} + {currencyCost}
- Time bought: {timeBought} + Last event time:{' '} + {region.timestamp ? new Date(region.timestamp).toLocaleString() : timeBought}
@@ -67,6 +72,14 @@ const CoreItemExtensive: React.FC = ({

End: {end}

+
+
+

Put into a pool: {region.pooled ? 'True' : 'False'}

+
+
+

Assigned: {region.assigned ? 'True' : 'False'}

+
+
) From df5e577b92bc0cbe8ba607dff92d9f2f6aa75b9a Mon Sep 17 00:00:00 2001 From: Aurora Poppyseed Date: Thu, 25 Apr 2024 13:19:48 +0200 Subject: [PATCH 09/19] nice, kusama not working though --- .../(App)/bulkcore1/CoreUtilisation.tsx | 2 +- .../[network]/(App)/bulkcore1/TimeSection.tsx | 69 +++++++++---------- .../core/[number]/[regionId]/[mask]/Core.tsx | 5 +- .../[regionId]/[mask]/PastTransactions.tsx | 2 +- src/app/[network]/(App)/my-cores/MyCores.tsx | 2 +- .../(App)/my-cores/PastTransactions.tsx | 25 +++---- .../[network]/(App)/paraId/ParaIdFetch.tsx | 2 +- .../(App)/paraId/ParachainsSubscanInfo.tsx | 2 +- src/app/[network]/(App)/paraId/page.tsx | 7 +- src/components/timelineComp/TimelineComp.tsx | 2 +- src/utils/broker/index.ts | 56 +-------------- 11 files changed, 56 insertions(+), 118 deletions(-) diff --git a/src/app/[network]/(App)/bulkcore1/CoreUtilisation.tsx b/src/app/[network]/(App)/bulkcore1/CoreUtilisation.tsx index bfc2a779..6e0cbaab 100644 --- a/src/app/[network]/(App)/bulkcore1/CoreUtilisation.tsx +++ b/src/app/[network]/(App)/bulkcore1/CoreUtilisation.tsx @@ -32,7 +32,7 @@ const CoreUtilisation: React.FC = () => { } fetchData() - }, []) + }, [client, network]) // Configurations for different data sets const dataConfigs = { diff --git a/src/app/[network]/(App)/bulkcore1/TimeSection.tsx b/src/app/[network]/(App)/bulkcore1/TimeSection.tsx index ce6726e5..ad92d470 100644 --- a/src/app/[network]/(App)/bulkcore1/TimeSection.tsx +++ b/src/app/[network]/(App)/bulkcore1/TimeSection.tsx @@ -4,38 +4,22 @@ import BuyWalletStatus from '@/components/walletStatus/BuyWalletStatus' import WalletStatus from '@/components/walletStatus/WalletStatus' import { network_list } from '@/config/network' import { useCurrentBlockNumber, useSubstrateQuery } from '@/hooks/useSubstrateQuery' -import { saleStatus } from '@/utils/broker' +import { calculateCurrentPrice, saleStatus } from '@/utils/broker' import { StatusCode } from '@/utils/broker/saleStatus' import { getChainFromPath } from '@/utils/common/chainPath' -import { - ConfigurationType, - SaleInfoType, - getCurrentBlockNumber, - useBalance, - useInkathon, -} from '@poppyseed/lastic-sdk' +import { SaleInfoType, getCurrentBlockNumber, useBalance, useInkathon } from '@poppyseed/lastic-sdk' +import { GraphLike, GraphQuery, SaleInitializedEvent, getClient } from '@poppyseed/squid-sdk' import { usePathname } from 'next/navigation' import { useEffect, useMemo, useState } from 'react' import AnalyticSection from './AnalyticSection' -function calculateCurrentPrice( - currentBlockNumber: number, - saleInfo: SaleInfoType, - config: ConfigurationType, -): number { - if ( - currentBlockNumber < saleInfo.saleStart + config.leadinLength && - currentBlockNumber > saleInfo.saleStart - ) { - return saleInfo.price * (2 - (currentBlockNumber - saleInfo.saleStart) / config.leadinLength) - } else { - return saleInfo.price - } -} - export default function BrokerSaleInfo() { - const { api, relayApi, activeAccount } = useInkathon() + const { activeAccount, relayApi, activeRelayChain, activeChain, api } = useInkathon() let { tokenSymbol } = useBalance(activeAccount?.address, true) + const [currentSaleRegion, setCurrentSaleRegion] = useState(null) + + const client = useMemo(() => getClient(), []) + const network = activeRelayChain?.network const pathname = usePathname() const currentBlockNumber = useCurrentBlockNumber(api) @@ -43,8 +27,6 @@ export default function BrokerSaleInfo() { const saleInfoString = useSubstrateQuery(api, 'saleInfo') // const configurationString = useSubstrateQuery(api, 'configuration') - // const { brokerConstants, isLoading: isConstantsLoading } = useBrokerConstants(api) - const configuration = network_list[getChainFromPath(pathname)].configuration const brokerConstants = network_list[getChainFromPath(pathname)].constants @@ -52,10 +34,23 @@ export default function BrokerSaleInfo() { () => (saleInfoString ? (JSON.parse(saleInfoString) as SaleInfoType) : null), [saleInfoString], ) - // const configuration = useMemo( - // () => (configurationString ? (JSON.parse(configurationString) as ConfigurationType) : null), - // [configurationString], - // ) + + let query: GraphQuery + + useMemo(() => { + query = client.eventAllSaleInitialized(1) + if (network && query) { + const fetchData = async () => { + const fetchedResult: GraphLike = await client.fetch(network, query) + const currentSaleRegion: SaleInitializedEvent | null = fetchedResult?.data.event + ? fetchedResult.data.event[0] + : null + setCurrentSaleRegion(currentSaleRegion) + } + + fetchData() + } + }, [network, client]) // Update saleStage every second based on the currentBlockNumber const [saleStage, setSaleStage] = useState('') @@ -63,10 +58,10 @@ export default function BrokerSaleInfo() { const [statusCode, setStatusCode] = useState(null) const [timeRemaining, setTimeRemaining] = useState('') useEffect(() => { - if (saleInfo && configuration && brokerConstants) { + if (currentSaleRegion && configuration && brokerConstants) { const { statusMessage, timeRemaining, statusTitle, statusCode } = saleStatus( currentBlockNumber, - saleInfo, + currentSaleRegion, configuration, brokerConstants, ) @@ -112,7 +107,7 @@ export default function BrokerSaleInfo() { ) - if (!saleInfo || !configuration || !currentRelayBlock || !brokerConstants) { + if (!currentSaleRegion || !saleInfo || !configuration || !currentRelayBlock || !brokerConstants) { return ( <>
@@ -130,7 +125,7 @@ export default function BrokerSaleInfo() { ) } - let currentPrice = calculateCurrentPrice(currentBlockNumber, saleInfo, configuration) + let currentPrice = calculateCurrentPrice(currentBlockNumber, currentSaleRegion, configuration) let analyticsData = [ { @@ -139,8 +134,8 @@ export default function BrokerSaleInfo() { change: `${(currentPrice / 10 ** 12).toFixed(9)} ${tokenSymbol} to be exact`, }, { - title: `${saleInfo?.coresSold} / ${saleInfo?.coresOffered}`, - subtitle: `Core sold out of ${saleInfo?.coresOffered} available`, + title: `${saleInfo?.coresSold} / ${currentSaleRegion?.coresOffered}`, + subtitle: `Core sold out of ${currentSaleRegion?.coresOffered} available`, change: '', }, ] @@ -162,7 +157,7 @@ export default function BrokerSaleInfo() { diff --git a/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx b/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx index 047426a3..fd3d656e 100644 --- a/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx +++ b/src/app/[network]/(App)/core/[number]/[regionId]/[mask]/Core.tsx @@ -9,8 +9,9 @@ import TimelineComponent from '@/components/timelineComp/TimelineComp' import TimelineUtilizeCore from '@/components/timelineComp/TimelineUtilizeCore' import WalletStatus from '@/components/walletStatus/WalletStatus' import { network_list } from '@/config/network' +import { useCurrentBlockNumber } from '@/hooks/useSubstrateQuery' import { parseNativeTokenToHuman } from '@/utils/account/token' -import { calculateCurrentPrice, saleStatus, useCurrentBlockNumber } from '@/utils/broker' +import { calculateCurrentPrice, saleStatus } from '@/utils/broker' import { getChainFromPath } from '@/utils/common/chainPath' import { blockTimeToUTC, @@ -187,7 +188,7 @@ const BrokerRegionData: FC = ({ coreNb, beginRegion, mask
{ fetchData() } - }, []) + }, [client, network, query]) const TableHeader = [ { title: 'Time' }, diff --git a/src/app/[network]/(App)/my-cores/MyCores.tsx b/src/app/[network]/(App)/my-cores/MyCores.tsx index 0b4fe555..1b28a76f 100644 --- a/src/app/[network]/(App)/my-cores/MyCores.tsx +++ b/src/app/[network]/(App)/my-cores/MyCores.tsx @@ -34,7 +34,7 @@ export default function MyCores() { //const newAddress = encodeAddress(publicKeyBytes, targetNetworkPrefix) useMemo(() => { - query = client.eventAllSaleInitialized(2) + let query = client.eventAllSaleInitialized(2) if (network && query) { const fetchData = async () => { const fetchedResult: GraphLike = await client.fetch(network, query) diff --git a/src/app/[network]/(App)/my-cores/PastTransactions.tsx b/src/app/[network]/(App)/my-cores/PastTransactions.tsx index 6f8d474a..255ff68b 100644 --- a/src/app/[network]/(App)/my-cores/PastTransactions.tsx +++ b/src/app/[network]/(App)/my-cores/PastTransactions.tsx @@ -2,7 +2,7 @@ import Border from '@/components/border/Border' import GeneralTable from '@/components/table/GeneralTable' import { parseNativeTokenToHuman } from '@/utils/account/token' import { useBalance, useInkathon } from '@poppyseed/lastic-sdk' -import { GraphLike, GraphQuery, PurchasedEvent, getClient } from '@poppyseed/squid-sdk' +import { GraphLike, PurchasedEvent, getClient } from '@poppyseed/squid-sdk' import { format } from 'date-fns' import { useEffect, useMemo, useState } from 'react' @@ -16,22 +16,19 @@ const PastTransactions = () => { let { tokenSymbol } = useBalance(activeAccount?.address, true) tokenSymbol = tokenSymbol || 'UNIT' - let query: GraphQuery - //const newAddress = encodeAddress(publicKeyBytes, targetNetworkPrefix) - if (activeAccount) { - query = client.eventWhoPurchased(activeAccount?.address, 7) - } - useEffect(() => { - if (network && query) { - const fetchData = async () => { - const fetchedResult: GraphLike = await client.fetch(network, query) - setResult(fetchedResult) - } + if (activeAccount) { + let query = client.eventWhoPurchased(activeAccount?.address, 7) + if (network && query) { + const fetchData = async () => { + const fetchedResult: GraphLike = await client.fetch(network, query) + setResult(fetchedResult) + } - fetchData() + fetchData() + } } - }, []) + }, [activeAccount, client, network]) const TableHeader = [ { title: 'Time' }, diff --git a/src/app/[network]/(App)/paraId/ParaIdFetch.tsx b/src/app/[network]/(App)/paraId/ParaIdFetch.tsx index 4b896685..84e5d854 100644 --- a/src/app/[network]/(App)/paraId/ParaIdFetch.tsx +++ b/src/app/[network]/(App)/paraId/ParaIdFetch.tsx @@ -103,7 +103,7 @@ const MyCores = () => { return (
-

Cores set for execution

+

Cores set for execution - Workload

+

+ Note: If you have a full core it is better to choose Final Finality, if you do you will + be able to renew your core. +

Region Begin: {regionId.begin}

Core Mask: {regionId.mask}

diff --git a/src/components/broker/extrinsics/InterlaceCoreModal.tsx b/src/components/broker/extrinsics/InterlaceCoreModal.tsx index dd33e87a..485c1c23 100644 --- a/src/components/broker/extrinsics/InterlaceCoreModal.tsx +++ b/src/components/broker/extrinsics/InterlaceCoreModal.tsx @@ -142,6 +142,9 @@ const InterlaceCoreModal: FC = ({ isOpen, onClose, regi return ( +
+ Changing core frequency is equivalent to interlacing the core with a new core. +
@@ -168,13 +171,13 @@ const InterlaceCoreModal: FC = ({ isOpen, onClose, regi New Mask (Core-part-1): - + {hexCoreMask} New Mask (Core-part-2): - + {hexCoreMaskComplementary} diff --git a/src/components/broker/extrinsics/PartitionCoreModal.tsx b/src/components/broker/extrinsics/PartitionCoreModal.tsx index b5dbe816..27b66ec1 100644 --- a/src/components/broker/extrinsics/PartitionCoreModal.tsx +++ b/src/components/broker/extrinsics/PartitionCoreModal.tsx @@ -221,6 +221,7 @@ const PartitionCoreModal: FC = ({ isOpen, onClose, regi orientation="landscape" value={selectedDateTime} onAccept={handleAccept} + className="bg-gray-2 dark:bg-gray-5 border border-gray-9 rounded-2xl p-2 w-full" format="MMM dd, yyyy HH:mm:ss" />