cyberia 3.0.2 → 3.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/{.env.production → .env.example} +20 -2
  2. package/.github/workflows/engine-cyberia.cd.yml +41 -10
  3. package/.github/workflows/engine-cyberia.ci.yml +53 -14
  4. package/.github/workflows/ghpkg.ci.yml +1 -1
  5. package/.github/workflows/gitlab.ci.yml +1 -1
  6. package/.github/workflows/hardhat.ci.yml +82 -0
  7. package/.github/workflows/npmpkg.ci.yml +37 -8
  8. package/.github/workflows/publish.ci.yml +5 -5
  9. package/.github/workflows/publish.cyberia.ci.yml +5 -5
  10. package/.github/workflows/pwa-microservices-template-page.cd.yml +3 -3
  11. package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
  12. package/.github/workflows/release.cd.yml +3 -2
  13. package/.vscode/extensions.json +9 -8
  14. package/.vscode/settings.json +3 -2
  15. package/CHANGELOG.md +533 -290
  16. package/CLI-HELP.md +79 -53
  17. package/WHITE-PAPER.md +1540 -0
  18. package/bin/build.js +16 -11
  19. package/bin/cyberia.js +959 -8
  20. package/bin/deploy.js +103 -270
  21. package/bin/file.js +2 -1
  22. package/bin/index.js +959 -8
  23. package/bin/vs.js +3 -3
  24. package/conf.js +277 -77
  25. package/deployment.yaml +218 -4
  26. package/hardhat/.env.example +31 -0
  27. package/hardhat/README.md +531 -0
  28. package/hardhat/WHITE-PAPER.md +1540 -0
  29. package/hardhat/contracts/ObjectLayerToken.sol +391 -0
  30. package/hardhat/deployments/.gitkeep +0 -0
  31. package/hardhat/deployments/hardhat-ObjectLayerToken.json +11 -0
  32. package/hardhat/hardhat.config.js +136 -0
  33. package/hardhat/ignition/modules/ObjectLayerToken.js +21 -0
  34. package/hardhat/networks/besu-object-layer.network.json +138 -0
  35. package/hardhat/package-lock.json +7628 -0
  36. package/hardhat/package.json +45 -0
  37. package/hardhat/scripts/deployObjectLayerToken.js +98 -0
  38. package/hardhat/test/ObjectLayerToken.js +590 -0
  39. package/jsdoc.dd-cyberia.json +59 -0
  40. package/jsdoc.json +20 -13
  41. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +1 -1
  42. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
  43. package/manifests/deployment/dd-cyberia-development/deployment.yaml +490 -0
  44. package/manifests/deployment/dd-cyberia-development/proxy.yaml +261 -0
  45. package/manifests/deployment/dd-cyberia-development/pv-pvc.yaml +132 -0
  46. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  47. package/manifests/deployment/dd-test-development/deployment.yaml +52 -52
  48. package/manifests/deployment/dd-test-development/proxy.yaml +4 -4
  49. package/manifests/pv-pvc-dd.yaml +1 -1
  50. package/package.json +60 -50
  51. package/proxy.yaml +128 -9
  52. package/pv-pvc.yaml +132 -0
  53. package/scripts/k3s-node-setup.sh +1 -1
  54. package/scripts/ports-ls.sh +2 -0
  55. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +3 -1
  56. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +1 -2
  57. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +40 -7
  58. package/src/api/document/document.service.js +1 -1
  59. package/src/api/file/file.controller.js +3 -1
  60. package/src/api/file/file.service.js +28 -5
  61. package/src/api/ipfs/ipfs.service.js +2 -2
  62. package/src/api/object-layer/object-layer.controller.js +6 -2
  63. package/src/api/object-layer/object-layer.model.js +67 -21
  64. package/src/api/object-layer/object-layer.router.js +668 -42
  65. package/src/api/object-layer/object-layer.service.js +10 -16
  66. package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +1 -2
  67. package/src/api/user/user.router.js +10 -5
  68. package/src/api/user/user.service.js +7 -7
  69. package/src/cli/baremetal.js +6 -10
  70. package/src/cli/cloud-init.js +0 -3
  71. package/src/cli/db.js +54 -71
  72. package/src/cli/deploy.js +64 -12
  73. package/src/cli/env.js +5 -5
  74. package/src/cli/fs.js +0 -2
  75. package/src/cli/image.js +0 -3
  76. package/src/cli/index.js +41 -13
  77. package/src/cli/monitor.js +5 -6
  78. package/src/cli/repository.js +329 -46
  79. package/src/cli/run.js +210 -122
  80. package/src/cli/secrets.js +1 -3
  81. package/src/cli/ssh.js +1 -1
  82. package/src/client/Itemledger.index.js +1 -959
  83. package/src/client/Underpost.index.js +36 -0
  84. package/src/client/components/core/AgGrid.js +20 -5
  85. package/src/client/components/core/Alert.js +2 -2
  86. package/src/client/components/core/Content.js +22 -3
  87. package/src/client/components/core/Docs.js +30 -6
  88. package/src/client/components/core/FileExplorer.js +71 -4
  89. package/src/client/components/core/Input.js +1 -1
  90. package/src/client/components/core/Modal.js +22 -6
  91. package/src/client/components/core/PublicProfile.js +3 -3
  92. package/src/client/components/core/RichText.js +1 -2
  93. package/src/client/components/core/Router.js +34 -1
  94. package/src/client/components/core/Worker.js +1 -1
  95. package/src/client/components/cryptokoyn/CssCryptokoyn.js +63 -1
  96. package/src/client/components/cyberia/ObjectLayerEngineModal.js +145 -119
  97. package/src/client/components/cyberia/ObjectLayerEngineViewer.js +64 -6
  98. package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +1 -0
  99. package/src/client/components/cyberia-portal/CssCyberiaPortal.js +44 -2
  100. package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +0 -1
  101. package/src/client/components/cyberia-portal/MenuCyberiaPortal.js +64 -2
  102. package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +1 -0
  103. package/src/client/components/itemledger/CssItemledger.js +62 -0
  104. package/src/client/components/underpost/CommonUnderpost.js +29 -0
  105. package/src/client/components/underpost/CssUnderpost.js +281 -0
  106. package/src/client/components/underpost/CyberpunkBloggerUnderpost.js +879 -0
  107. package/src/client/components/underpost/DocumentSearchProvider.js +448 -0
  108. package/src/client/components/underpost/ElementsUnderpost.js +38 -0
  109. package/src/client/components/underpost/LabGalleryUnderpost.js +82 -0
  110. package/src/client/components/underpost/LogInUnderpost.js +23 -0
  111. package/src/client/components/underpost/LogOutUnderpost.js +15 -0
  112. package/src/client/components/underpost/MenuUnderpost.js +691 -0
  113. package/src/client/components/underpost/RoutesUnderpost.js +47 -0
  114. package/src/client/components/underpost/SettingsUnderpost.js +16 -0
  115. package/src/client/components/underpost/SignUpUnderpost.js +9 -0
  116. package/src/client/components/underpost/SocketIoUnderpost.js +54 -0
  117. package/src/client/components/underpost/TranslateUnderpost.js +10 -0
  118. package/src/client/public/cryptokoyn/assets/logo/base-icon.png +0 -0
  119. package/src/client/public/cryptokoyn/browserconfig.xml +12 -0
  120. package/src/client/public/cryptokoyn/microdata.json +85 -0
  121. package/src/client/public/cryptokoyn/site.webmanifest +57 -0
  122. package/src/client/public/cryptokoyn/sitemap +3 -3
  123. package/src/client/public/default/sitemap +3 -3
  124. package/src/client/public/itemledger/browserconfig.xml +2 -2
  125. package/src/client/public/itemledger/manifest.webmanifest +4 -4
  126. package/src/client/public/itemledger/microdata.json +71 -0
  127. package/src/client/public/itemledger/sitemap +3 -3
  128. package/src/client/public/itemledger/yandex-browser-manifest.json +2 -2
  129. package/src/client/public/test/sitemap +3 -3
  130. package/src/client/services/object-layer/object-layer.management.js +23 -4
  131. package/src/client/ssr/body/404.js +15 -11
  132. package/src/client/ssr/body/500.js +15 -11
  133. package/src/client/ssr/body/SwaggerDarkMode.js +285 -0
  134. package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +83 -0
  135. package/src/client/ssr/head/PwaItemledger.js +60 -0
  136. package/src/client/ssr/head/UnderpostScripts.js +6 -0
  137. package/src/client/ssr/offline/NoNetworkConnection.js +11 -10
  138. package/src/client/ssr/pages/Test.js +11 -10
  139. package/src/client.build.js +0 -3
  140. package/src/client.dev.js +0 -3
  141. package/src/db/DataBaseProvider.js +17 -2
  142. package/src/db/mariadb/MariaDB.js +14 -9
  143. package/src/db/mongo/MongooseDB.js +17 -1
  144. package/src/index.js +1 -1
  145. package/src/proxy.js +0 -3
  146. package/src/runtime/express/Express.js +15 -9
  147. package/src/runtime/lampp/Lampp.js +6 -13
  148. package/src/server/auth.js +12 -14
  149. package/src/server/backup.js +2 -3
  150. package/src/server/besu-genesis-generator.js +1630 -0
  151. package/src/server/client-build-docs.js +126 -17
  152. package/src/server/client-build-live.js +9 -18
  153. package/src/server/client-build.js +203 -75
  154. package/src/server/client-dev-server.js +14 -13
  155. package/src/server/conf.js +376 -164
  156. package/src/server/cron.js +2 -1
  157. package/src/server/dns.js +28 -12
  158. package/src/server/downloader.js +0 -2
  159. package/src/server/logger.js +27 -9
  160. package/src/server/object-layer.js +92 -16
  161. package/src/server/peer.js +0 -2
  162. package/src/server/process.js +1 -50
  163. package/src/server/proxy.js +4 -8
  164. package/src/server/runtime.js +5 -8
  165. package/src/server/semantic-layer-generator.js +1 -0
  166. package/src/server/ssr.js +0 -3
  167. package/src/server/start.js +19 -12
  168. package/src/server/tls.js +0 -2
  169. package/src/server.js +0 -4
  170. package/.env.development +0 -43
  171. package/.env.test +0 -43
  172. package/hardhat/contracts/CryptoKoyn.sol +0 -59
  173. package/hardhat/contracts/ItemLedger.sol +0 -73
  174. package/hardhat/contracts/Lock.sol +0 -34
  175. package/hardhat/hardhat.config.cjs +0 -45
  176. package/hardhat/ignition/modules/Lock.js +0 -18
  177. package/hardhat/networks/cryptokoyn-itemledger.network.json +0 -29
  178. package/hardhat/scripts/deployCryptokoyn.cjs +0 -25
  179. package/hardhat/scripts/deployItemledger.cjs +0 -25
  180. package/hardhat/test/Lock.js +0 -126
  181. package/hardhat/white-paper.md +0 -581
  182. package/white-paper.md +0 -581
@@ -0,0 +1,47 @@
1
+ import { loggerFactory } from '../core/Logger.js';
2
+ import { Modal } from '../core/Modal.js';
3
+ import { s } from '../core/VanillaJs.js';
4
+ import { getProxyPath } from '../core/Router.js';
5
+
6
+ const logger = loggerFactory(import.meta);
7
+
8
+ const BannerAppTemplate = html`underpost.net`;
9
+
10
+ // Router
11
+ const RoutesUnderpost = () => {
12
+ return {
13
+ '/': {
14
+ title: 'Home',
15
+ render: () => Modal.onHomeRouterEvent(),
16
+ },
17
+ '/contracultura-cyberpunk': {
18
+ title: 'contracultura-cyberpunk',
19
+ render: () => s(`.main-btn-contracultura-cyberpunk`).click(),
20
+ },
21
+ '/lab-gallery': { title: 'lab-gallery', render: () => s(`.main-btn-lab-gallery`).click() },
22
+ '/log-in': { title: 'log-in', render: () => s(`.main-btn-log-in`).click() },
23
+ '/sign-up': { title: 'sign-up', render: () => s(`.main-btn-sign-up`).click() },
24
+ '/log-out': {
25
+ title: 'log-out',
26
+ render: () => s(`.main-btn-log-out`).click(),
27
+ },
28
+ '/account': {
29
+ title: 'account',
30
+ render: () => s(`.main-btn-account`).click(),
31
+ },
32
+ '/u': { title: 'public-profile', render: () => s(`.main-btn-public-profile`).click() },
33
+ '/settings': { title: 'settings', render: () => s(`.main-btn-settings`).click() },
34
+ '/recover': { title: 'recover', render: () => s(`.main-btn-recover`).click() },
35
+ '/content': { title: 'content', render: () => s(`.main-btn-content`).click() },
36
+ '/cloud': { title: 'cloud', render: () => s(`.main-btn-cloud`).click() },
37
+ '/polyhedron': { title: 'polyhedron', render: () => s(`.main-btn-polyhedron`).click() },
38
+ };
39
+ };
40
+
41
+ window.Routes = RoutesUnderpost;
42
+
43
+ const RouterUnderpost = () => {
44
+ return { Routes: RoutesUnderpost };
45
+ };
46
+
47
+ export { RoutesUnderpost, RouterUnderpost, BannerAppTemplate };
@@ -0,0 +1,16 @@
1
+ import { Css } from '../core/Css.js';
2
+ import { FullScreen } from '../core/FullScreen.js';
3
+ import { Translate } from '../core/Translate.js';
4
+ import { Worker } from '../core/Worker.js';
5
+
6
+ const SettingsUnderpost = {
7
+ Render: async function () {
8
+ let render = await FullScreen.RenderSetting();
9
+ render += await Css.RenderSetting();
10
+ render += await Translate.RenderSetting();
11
+ render += await Worker.RenderSetting();
12
+ return render;
13
+ },
14
+ };
15
+
16
+ export { SettingsUnderpost };
@@ -0,0 +1,9 @@
1
+ import { SignUp } from '../core/SignUp.js';
2
+
3
+ const SignUpUnderpost = function () {
4
+ SignUp.Event['SignUpUnderpost'] = async (options) => {
5
+ const { user } = options;
6
+ };
7
+ };
8
+
9
+ export { SignUpUnderpost };
@@ -0,0 +1,54 @@
1
+ import { Account } from '../core/Account.js';
2
+ import { Chat } from '../core/Chat.js';
3
+ import { s4 } from '../core/CommonJs.js';
4
+ import { loggerFactory } from '../core/Logger.js';
5
+ import { SocketIo } from '../core/SocketIo.js';
6
+ import { s } from '../core/VanillaJs.js';
7
+ import { ElementsUnderpost } from './ElementsUnderpost.js';
8
+
9
+ const logger = loggerFactory(import.meta);
10
+
11
+ const SocketIoUnderpost = {
12
+ Init: function () {
13
+ return new Promise((resolve) => {
14
+ for (const type of Object.keys(ElementsUnderpost.Data)) {
15
+ SocketIo.Event[type][s4()] = async (args) => {
16
+ args = JSON.parse(args[0]);
17
+ switch (type) {
18
+ case 'chat':
19
+ {
20
+ const idModal = 'modal-chat';
21
+ if (s(`.${idModal}-chat-box`)) Chat.appendChatBox({ idModal, ...args });
22
+ }
23
+ break;
24
+
25
+ default:
26
+ break;
27
+ }
28
+ const { status } = args;
29
+
30
+ switch (status) {
31
+ case 'email-confirmed': {
32
+ const newUser = { ...ElementsUnderpost.Data.user.main.model.user, emailConfirmed: true };
33
+ Account.renderVerifyEmailStatus(newUser);
34
+ Account.triggerUpdateEvent({ user: newUser });
35
+ break;
36
+ }
37
+
38
+ default:
39
+ break;
40
+ }
41
+ };
42
+ }
43
+ SocketIo.Event.connect[s4()] = async (reason) => {
44
+ // ElementsUnderpost.Init({ type, id, element });
45
+ };
46
+ SocketIo.Event.disconnect[s4()] = async (reason) => {
47
+ // ElementsUnderpost.removeAll();
48
+ };
49
+ return resolve();
50
+ });
51
+ },
52
+ };
53
+
54
+ export { SocketIoUnderpost };
@@ -0,0 +1,10 @@
1
+ import { Translate } from '../core/Translate.js';
2
+
3
+ const TranslateUnderpost = {
4
+ Init: async function () {
5
+ Translate.Data['contracultura-cyberpunk'] = { en: 'Contracultura Cyberpunk', es: 'Contracultura Cyberpunk' };
6
+ Translate.Data['lab-gallery'] = { en: 'Lab Gallery', es: 'Lab Gallery' };
7
+ },
8
+ };
9
+
10
+ export { TranslateUnderpost };
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <browserconfig>
3
+ <msapplication>
4
+ <tile>
5
+ <square70x70logo src="/assets/splash/mstile-70x70.png"/>
6
+ <square150x150logo src="/assets/splash/mstile-150x150.png"/>
7
+ <wide310x150logo src="/assets/splash/mstile-310x150.png"/>
8
+ <square310x310logo src="/assets/splash/mstile-310x310.png"/>
9
+ <TileColor>#E1DB07</TileColor>
10
+ </tile>
11
+ </msapplication>
12
+ </browserconfig>
@@ -0,0 +1,85 @@
1
+ [
2
+ {
3
+ "@context": "https://schema.org",
4
+ "@type": "WebApplication",
5
+ "name": "Cryptokoyn",
6
+ "alternateName": "CKY",
7
+ "url": "https://cryptokoyn.net",
8
+ "description": "Financial portal and token hub for CryptoKoyn (CKY) — the fungible ERC-1155 currency of the Cyberia Online ecosystem. Staking, governance, analytics, and wallet management.",
9
+ "applicationCategory": "FinanceApplication",
10
+ "operatingSystem": "Any",
11
+ "browserRequirements": "Requires JavaScript. Requires HTML5.",
12
+ "offers": {
13
+ "@type": "Offer",
14
+ "price": "0",
15
+ "priceCurrency": "USD"
16
+ },
17
+ "author": {
18
+ "@type": "Organization",
19
+ "name": "Underpost",
20
+ "url": "https://github.com/underpostnet"
21
+ },
22
+ "potentialAction": {
23
+ "@type": "SearchAction",
24
+ "target": "https://cryptokoyn.net/?q={search_term_string}",
25
+ "query-input": "required name=search_term_string"
26
+ },
27
+ "featureList": [
28
+ "ERC-1155 Token Management",
29
+ "Staking Dashboard",
30
+ "Governance Voting",
31
+ "Wallet Management",
32
+ "Analytics & Charts",
33
+ "Real-time Price Tracking"
34
+ ],
35
+ "screenshot": "https://cryptokoyn.net/assets/banner/koyn-social.png",
36
+ "softwareVersion": "1.0.0",
37
+ "inLanguage": "en"
38
+ },
39
+ {
40
+ "@context": "https://schema.org",
41
+ "@type": "Organization",
42
+ "name": "Cryptokoyn",
43
+ "url": "https://cryptokoyn.net",
44
+ "logo": "https://cryptokoyn.net/assets/splash/android-chrome-256x256.png",
45
+ "description": "Financial portal and token hub for CryptoKoyn (CKY) — the fungible ERC-1155 currency of the Cyberia Online ecosystem.",
46
+ "sameAs": [
47
+ "https://github.com/underpostnet"
48
+ ],
49
+ "parentOrganization": {
50
+ "@type": "Organization",
51
+ "name": "Underpost",
52
+ "url": "https://underpost.net"
53
+ }
54
+ },
55
+ {
56
+ "@context": "https://schema.org",
57
+ "@type": "FAQPage",
58
+ "mainEntity": [
59
+ {
60
+ "@type": "Question",
61
+ "name": "What is CryptoKoyn (CKY)?",
62
+ "acceptedAnswer": {
63
+ "@type": "Answer",
64
+ "text": "CryptoKoyn (CKY) is a fungible ERC-1155 token that serves as the primary currency within the Cyberia Online ecosystem. It can be used for in-game transactions, staking, and governance voting."
65
+ }
66
+ },
67
+ {
68
+ "@type": "Question",
69
+ "name": "How do I stake CKY tokens?",
70
+ "acceptedAnswer": {
71
+ "@type": "Answer",
72
+ "text": "You can stake CKY tokens through the Cryptokoyn staking dashboard. Connect your wallet, select the amount you wish to stake, and confirm the transaction to start earning rewards."
73
+ }
74
+ },
75
+ {
76
+ "@type": "Question",
77
+ "name": "Is Cryptokoyn free to use?",
78
+ "acceptedAnswer": {
79
+ "@type": "Answer",
80
+ "text": "Yes, the Cryptokoyn portal is free to use. You only need a compatible web browser and a wallet to interact with the blockchain features."
81
+ }
82
+ }
83
+ ]
84
+ }
85
+ ]
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "Cryptokoyn",
3
+ "short_name": "Cryptokoyn",
4
+ "description": "Financial portal and token hub for CryptoKoyn (CKY) — the fungible ERC-1155 currency of the Cyberia Online ecosystem.",
5
+ "dir": "auto",
6
+ "lang": "en-US",
7
+ "display": "standalone",
8
+ "orientation": "any",
9
+ "scope": "/",
10
+ "start_url": "/?homescreen=1",
11
+ "background_color": "#E1DB07",
12
+ "theme_color": "#E1DB07",
13
+ "icons": [
14
+ {
15
+ "src": "/assets/splash/android-chrome-36x36.png",
16
+ "sizes": "36x36",
17
+ "type": "image/png",
18
+ "purpose": "any maskable"
19
+ },
20
+ {
21
+ "src": "/assets/splash/android-chrome-48x48.png",
22
+ "sizes": "48x48",
23
+ "type": "image/png",
24
+ "purpose": "any maskable"
25
+ },
26
+ {
27
+ "src": "/assets/splash/android-chrome-72x72.png",
28
+ "sizes": "72x72",
29
+ "type": "image/png",
30
+ "purpose": "any maskable"
31
+ },
32
+ {
33
+ "src": "/assets/splash/android-chrome-96x96.png",
34
+ "sizes": "96x96",
35
+ "type": "image/png",
36
+ "purpose": "any maskable"
37
+ },
38
+ {
39
+ "src": "/assets/splash/android-chrome-144x144.png",
40
+ "sizes": "144x144",
41
+ "type": "image/png",
42
+ "purpose": "any maskable"
43
+ },
44
+ {
45
+ "src": "/assets/splash/android-chrome-192x192.png",
46
+ "sizes": "192x192",
47
+ "type": "image/png",
48
+ "purpose": "any maskable"
49
+ },
50
+ {
51
+ "src": "/assets/splash/android-chrome-256x256.png",
52
+ "sizes": "256x256",
53
+ "type": "image/png",
54
+ "purpose": "any maskable"
55
+ }
56
+ ]
57
+ }
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <xsl:stylesheet version="2.0"
2
+ <xsl:stylesheet version="1.0"
3
3
  xmlns:html="http://www.w3.org/TR/REC-html40"
4
4
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
5
5
  xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
@@ -67,7 +67,7 @@
67
67
  <div id="content">
68
68
  <h1>XML Sitemap</h1>
69
69
  <p class="desc"> This is a sitemap generated by <a
70
- href="https://www.nexodev.org">nexodev.org</a>
70
+ href="{{web-url}}">{{web-url}}</a>
71
71
  </p>
72
72
  <xsl:if test="count(sitemap:sitemapindex/sitemap:sitemap) &gt; 0">
73
73
  <table id="sitemap" cellpadding="3">
@@ -145,4 +145,4 @@
145
145
  </html>
146
146
 
147
147
  </xsl:template>
148
- </xsl:stylesheet>
148
+ </xsl:stylesheet>
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <xsl:stylesheet version="2.0"
2
+ <xsl:stylesheet version="1.0"
3
3
  xmlns:html="http://www.w3.org/TR/REC-html40"
4
4
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
5
5
  xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
@@ -67,7 +67,7 @@
67
67
  <div id="content">
68
68
  <h1>XML Sitemap</h1>
69
69
  <p class="desc"> This is a sitemap generated by <a
70
- href="https://www.nexodev.org">nexodev.org</a>
70
+ href="{{web-url}}">{{web-url}}</a>
71
71
  </p>
72
72
  <xsl:if test="count(sitemap:sitemapindex/sitemap:sitemap) &gt; 0">
73
73
  <table id="sitemap" cellpadding="3">
@@ -145,4 +145,4 @@
145
145
  </html>
146
146
 
147
147
  </xsl:template>
148
- </xsl:stylesheet>
148
+ </xsl:stylesheet>
@@ -6,7 +6,7 @@
6
6
  <square150x150logo src="/mstile-150x150.png"/>
7
7
  <wide310x150logo src="/mstile-310x150.png"/>
8
8
  <square310x310logo src="/mstile-310x310.png"/>
9
- <TileColor>#fff</TileColor>
9
+ <TileColor>#0551C4</TileColor>
10
10
  </tile>
11
11
  </msapplication>
12
- </browserconfig>
12
+ </browserconfig>
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "Item Ledger",
3
3
  "short_name": "Item Ledger",
4
- "description": null,
4
+ "description": "Canonical registry, metadata resolver, and IPFS indexer for Object Layer items — semi-fungible and non-fungible ERC-1155 tokens in the Cyberia Online ecosystem. Item search, provenance, and marketplace.",
5
5
  "dir": "auto",
6
6
  "lang": "en-US",
7
7
  "display": "standalone",
8
8
  "orientation": "any",
9
9
  "scope": "/",
10
10
  "start_url": "/?homescreen=1",
11
- "background_color": "#fff",
12
- "theme_color": "#fff",
11
+ "background_color": "#0551C4",
12
+ "theme_color": "#0551C4",
13
13
  "icons": [
14
14
  {
15
15
  "src": "/android-chrome-36x36.png",
@@ -66,4 +66,4 @@
66
66
  "purpose": "any maskable"
67
67
  }
68
68
  ]
69
- }
69
+ }
@@ -0,0 +1,71 @@
1
+ [
2
+ {
3
+ "@context": "https://schema.org",
4
+ "@type": "WebApplication",
5
+ "name": "Item Ledger",
6
+ "url": "https://itemledger.com",
7
+ "description": "Canonical registry, metadata resolver, and IPFS indexer for Object Layer items — semi-fungible and non-fungible ERC-1155 tokens in the Cyberia Online ecosystem. Item search, provenance, and marketplace.",
8
+ "applicationCategory": "BlockchainApplication",
9
+ "operatingSystem": "All",
10
+ "browserRequirements": "Requires JavaScript. Requires HTML5.",
11
+ "offers": {
12
+ "@type": "Offer",
13
+ "price": "0",
14
+ "priceCurrency": "USD"
15
+ },
16
+ "author": {
17
+ "@type": "Organization",
18
+ "name": "Underpost",
19
+ "url": "https://github.com/underpostnet"
20
+ },
21
+ "keywords": "itemledger, object layer, NFT, ERC-1155, metadata, IPFS, registry, marketplace",
22
+ "image": "https://itemledger.com/apple-touch-icon.png",
23
+ "inLanguage": "en"
24
+ },
25
+ {
26
+ "@context": "https://schema.org",
27
+ "@type": "Organization",
28
+ "name": "Item Ledger",
29
+ "url": "https://itemledger.com",
30
+ "logo": "https://itemledger.com/android-chrome-512x512.png",
31
+ "description": "Canonical registry and IPFS indexer for Object Layer items in the Cyberia Online ecosystem.",
32
+ "sameAs": [
33
+ "https://github.com/underpostnet"
34
+ ],
35
+ "founder": {
36
+ "@type": "Organization",
37
+ "name": "Underpost",
38
+ "url": "https://github.com/underpostnet"
39
+ }
40
+ },
41
+ {
42
+ "@context": "https://schema.org",
43
+ "@type": "FAQPage",
44
+ "mainEntity": [
45
+ {
46
+ "@type": "Question",
47
+ "name": "What is Item Ledger?",
48
+ "acceptedAnswer": {
49
+ "@type": "Answer",
50
+ "text": "Item Ledger is the canonical registry, metadata resolver, and IPFS indexer for Object Layer items — semi-fungible and non-fungible ERC-1155 tokens in the Cyberia Online ecosystem. It provides item search, provenance tracking, and marketplace functionality."
51
+ }
52
+ },
53
+ {
54
+ "@type": "Question",
55
+ "name": "What token standard does Item Ledger use?",
56
+ "acceptedAnswer": {
57
+ "@type": "Answer",
58
+ "text": "Item Ledger uses the ERC-1155 multi-token standard, supporting both semi-fungible and non-fungible tokens for in-game items, equipment, and collectibles within the Cyberia Online ecosystem."
59
+ }
60
+ },
61
+ {
62
+ "@type": "Question",
63
+ "name": "How does Item Ledger use IPFS?",
64
+ "acceptedAnswer": {
65
+ "@type": "Answer",
66
+ "text": "Item Ledger indexes and resolves item metadata stored on IPFS (InterPlanetary File System), ensuring decentralized, persistent, and verifiable storage for all Object Layer item data and assets."
67
+ }
68
+ }
69
+ ]
70
+ }
71
+ ]
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <xsl:stylesheet version="2.0"
2
+ <xsl:stylesheet version="1.0"
3
3
  xmlns:html="http://www.w3.org/TR/REC-html40"
4
4
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
5
5
  xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
@@ -67,7 +67,7 @@
67
67
  <div id="content">
68
68
  <h1>XML Sitemap</h1>
69
69
  <p class="desc"> This is a sitemap generated by <a
70
- href="https://www.nexodev.org">nexodev.org</a>
70
+ href="{{web-url}}">{{web-url}}</a>
71
71
  </p>
72
72
  <xsl:if test="count(sitemap:sitemapindex/sitemap:sitemap) &gt; 0">
73
73
  <table id="sitemap" cellpadding="3">
@@ -145,4 +145,4 @@
145
145
  </html>
146
146
 
147
147
  </xsl:template>
148
- </xsl:stylesheet>
148
+ </xsl:stylesheet>
@@ -3,7 +3,7 @@
3
3
  "api_version": 1,
4
4
  "layout": {
5
5
  "logo": "/yandex-browser-50x50.png",
6
- "color": "#fff",
6
+ "color": "#0551C4",
7
7
  "show_title": true
8
8
  }
9
- }
9
+ }
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <xsl:stylesheet version="2.0"
2
+ <xsl:stylesheet version="1.0"
3
3
  xmlns:html="http://www.w3.org/TR/REC-html40"
4
4
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
5
5
  xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
@@ -67,7 +67,7 @@
67
67
  <div id="content">
68
68
  <h1>XML Sitemap</h1>
69
69
  <p class="desc"> This is a sitemap generated by <a
70
- href="https://www.nexodev.org">nexodev.org</a>
70
+ href="{{web-url}}">{{web-url}}</a>
71
71
  </p>
72
72
  <xsl:if test="count(sitemap:sitemapindex/sitemap:sitemap) &gt; 0">
73
73
  <table id="sitemap" cellpadding="3">
@@ -145,4 +145,4 @@
145
145
  </html>
146
146
 
147
147
  </xsl:template>
148
- </xsl:stylesheet>
148
+ </xsl:stylesheet>
@@ -268,7 +268,9 @@ const ObjectLayerManagement = {
268
268
  // IPFS CID of object layer data JSON (fast-json-stable-stringify)
269
269
  const CidRenderer = createCidRenderer((d) => d?.cid);
270
270
  // IPFS CID of the consolidated atlas sprite sheet PNG
271
- const AtlasCidRenderer = createCidRenderer((d) => d?.data?.atlasSpriteSheetCid || d?.atlasSpriteSheetId?.cid);
271
+ const AtlasCidRenderer = createCidRenderer((d) => d?.data?.render?.cid || d?.atlasSpriteSheetId?.cid);
272
+ // IPFS CID of the atlas sprite sheet metadata JSON (fast-json-stable-stringify)
273
+ const MetadataCidRenderer = createCidRenderer((d) => d?.data?.render?.metadataCid);
272
274
 
273
275
  let columnDefs = [
274
276
  // {
@@ -285,6 +287,14 @@ const ObjectLayerManagement = {
285
287
  },
286
288
  { field: 'data.item.type', headerName: 'Item Type', editable: role === 'user' },
287
289
  { field: 'data.item.description', headerName: 'Description', flex: 1, editable: role === 'user' },
290
+ {
291
+ field: 'data.ledger.type',
292
+ headerName: 'Ledger Type',
293
+ width: 160,
294
+ editable: false,
295
+ sortable: false,
296
+ filter: false,
297
+ },
288
298
  {
289
299
  field: 'cid',
290
300
  headerName: 'IPFS CID',
@@ -295,17 +305,26 @@ const ObjectLayerManagement = {
295
305
  filter: false,
296
306
  },
297
307
  {
298
- field: 'data.atlasSpriteSheetCid',
299
- headerName: 'Atlas CID',
308
+ field: 'data.render.cid',
309
+ headerName: 'Render CID',
300
310
  width: 160,
301
311
  cellRenderer: AtlasCidRenderer,
302
312
  editable: false,
303
313
  sortable: false,
304
314
  filter: false,
305
315
  },
316
+ {
317
+ field: 'data.render.metadataCid',
318
+ headerName: 'Render Metadata CID',
319
+ width: 160,
320
+ cellRenderer: MetadataCidRenderer,
321
+ editable: false,
322
+ sortable: false,
323
+ filter: false,
324
+ },
306
325
  {
307
326
  field: 'frame08',
308
- headerName: 'Frame 08 Preview',
327
+ headerName: 'First IDLE frame preview',
309
328
  width: 120,
310
329
  cellRenderer: Frame08Renderer,
311
330
  editable: false,
@@ -47,9 +47,12 @@ const main = () => {
47
47
  a {
48
48
  color: black;
49
49
  }
50
+ .main-body-ssr-404 {
51
+ top: 45%;
52
+ }
50
53
  </style>
51
54
 
52
- <div class="abs center" style="top: 45%">
55
+ <div class="abs center main-body-ssr-404">
53
56
  ${icon}
54
57
  <br />
55
58
  <br />
@@ -57,17 +60,18 @@ const main = () => {
57
60
  <br />
58
61
  <br />${Translate.Render('page-not-found')} <br />
59
62
  <br />
60
- <a href="${location.origin}">${Translate.Render('back')}</a>
63
+ <a target="_top" href="${location.origin}">${Translate.Render('back')}</a>
61
64
  </div>`,
62
65
  );
63
66
  };
64
67
 
65
- SrrComponent = () => html`<script>
66
- {
67
- const s = ${s};
68
- const append = ${append};
69
- const getLang = ${getLang};
70
- const main = ${main};
71
- window.onload = main;
72
- }
73
- </script>`;
68
+ SrrComponent = () =>
69
+ html`<script>
70
+ {
71
+ const s = ${s};
72
+ const append = ${append};
73
+ const getLang = ${getLang};
74
+ const main = ${main};
75
+ window.onload = main;
76
+ }
77
+ </script>`;
@@ -46,9 +46,12 @@ const main = () => {
46
46
  a {
47
47
  color: black;
48
48
  }
49
+ .main-body-ssr-500 {
50
+ top: 45%;
51
+ }
49
52
  </style>
50
53
 
51
- <div class="abs center" style="top: 45%">
54
+ <div class="abs center main-body-ssr-500">
52
55
  ${icon}
53
56
  <br />
54
57
  <br />
@@ -56,17 +59,18 @@ const main = () => {
56
59
  <br />
57
60
  <br />${Translate.Render('page-broken')} <br />
58
61
  <br />
59
- <a href="${location.origin}">${Translate.Render('back')}</a>
62
+ <a target="_top" href="${location.origin}">${Translate.Render('back')}</a>
60
63
  </div>`,
61
64
  );
62
65
  };
63
66
 
64
- SrrComponent = () => html`<script>
65
- {
66
- const s = ${s};
67
- const append = ${append};
68
- const getLang = ${getLang};
69
- const main = ${main};
70
- window.onload = main;
71
- }
72
- </script>`;
67
+ SrrComponent = () =>
68
+ html`<script>
69
+ {
70
+ const s = ${s};
71
+ const append = ${append};
72
+ const getLang = ${getLang};
73
+ const main = ${main};
74
+ window.onload = main;
75
+ }
76
+ </script>`;