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.
- package/{.env.production → .env.example} +20 -2
- package/.github/workflows/engine-cyberia.cd.yml +41 -10
- package/.github/workflows/engine-cyberia.ci.yml +53 -14
- package/.github/workflows/ghpkg.ci.yml +1 -1
- package/.github/workflows/gitlab.ci.yml +1 -1
- package/.github/workflows/hardhat.ci.yml +82 -0
- package/.github/workflows/npmpkg.ci.yml +37 -8
- package/.github/workflows/publish.ci.yml +5 -5
- package/.github/workflows/publish.cyberia.ci.yml +5 -5
- package/.github/workflows/pwa-microservices-template-page.cd.yml +3 -3
- package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
- package/.github/workflows/release.cd.yml +3 -2
- package/.vscode/extensions.json +9 -8
- package/.vscode/settings.json +3 -2
- package/CHANGELOG.md +533 -290
- package/CLI-HELP.md +79 -53
- package/WHITE-PAPER.md +1540 -0
- package/bin/build.js +16 -11
- package/bin/cyberia.js +959 -8
- package/bin/deploy.js +103 -270
- package/bin/file.js +2 -1
- package/bin/index.js +959 -8
- package/bin/vs.js +3 -3
- package/conf.js +277 -77
- package/deployment.yaml +218 -4
- package/hardhat/.env.example +31 -0
- package/hardhat/README.md +531 -0
- package/hardhat/WHITE-PAPER.md +1540 -0
- package/hardhat/contracts/ObjectLayerToken.sol +391 -0
- package/hardhat/deployments/.gitkeep +0 -0
- package/hardhat/deployments/hardhat-ObjectLayerToken.json +11 -0
- package/hardhat/hardhat.config.js +136 -0
- package/hardhat/ignition/modules/ObjectLayerToken.js +21 -0
- package/hardhat/networks/besu-object-layer.network.json +138 -0
- package/hardhat/package-lock.json +7628 -0
- package/hardhat/package.json +45 -0
- package/hardhat/scripts/deployObjectLayerToken.js +98 -0
- package/hardhat/test/ObjectLayerToken.js +590 -0
- package/jsdoc.dd-cyberia.json +59 -0
- package/jsdoc.json +20 -13
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +1 -1
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
- package/manifests/deployment/dd-cyberia-development/deployment.yaml +490 -0
- package/manifests/deployment/dd-cyberia-development/proxy.yaml +261 -0
- package/manifests/deployment/dd-cyberia-development/pv-pvc.yaml +132 -0
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/manifests/deployment/dd-test-development/deployment.yaml +52 -52
- package/manifests/deployment/dd-test-development/proxy.yaml +4 -4
- package/manifests/pv-pvc-dd.yaml +1 -1
- package/package.json +60 -50
- package/proxy.yaml +128 -9
- package/pv-pvc.yaml +132 -0
- package/scripts/k3s-node-setup.sh +1 -1
- package/scripts/ports-ls.sh +2 -0
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +3 -1
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +1 -2
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +40 -7
- package/src/api/document/document.service.js +1 -1
- package/src/api/file/file.controller.js +3 -1
- package/src/api/file/file.service.js +28 -5
- package/src/api/ipfs/ipfs.service.js +2 -2
- package/src/api/object-layer/object-layer.controller.js +6 -2
- package/src/api/object-layer/object-layer.model.js +67 -21
- package/src/api/object-layer/object-layer.router.js +668 -42
- package/src/api/object-layer/object-layer.service.js +10 -16
- package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +1 -2
- package/src/api/user/user.router.js +10 -5
- package/src/api/user/user.service.js +7 -7
- package/src/cli/baremetal.js +6 -10
- package/src/cli/cloud-init.js +0 -3
- package/src/cli/db.js +54 -71
- package/src/cli/deploy.js +64 -12
- package/src/cli/env.js +5 -5
- package/src/cli/fs.js +0 -2
- package/src/cli/image.js +0 -3
- package/src/cli/index.js +41 -13
- package/src/cli/monitor.js +5 -6
- package/src/cli/repository.js +329 -46
- package/src/cli/run.js +210 -122
- package/src/cli/secrets.js +1 -3
- package/src/cli/ssh.js +1 -1
- package/src/client/Itemledger.index.js +1 -959
- package/src/client/Underpost.index.js +36 -0
- package/src/client/components/core/AgGrid.js +20 -5
- package/src/client/components/core/Alert.js +2 -2
- package/src/client/components/core/Content.js +22 -3
- package/src/client/components/core/Docs.js +30 -6
- package/src/client/components/core/FileExplorer.js +71 -4
- package/src/client/components/core/Input.js +1 -1
- package/src/client/components/core/Modal.js +22 -6
- package/src/client/components/core/PublicProfile.js +3 -3
- package/src/client/components/core/RichText.js +1 -2
- package/src/client/components/core/Router.js +34 -1
- package/src/client/components/core/Worker.js +1 -1
- package/src/client/components/cryptokoyn/CssCryptokoyn.js +63 -1
- package/src/client/components/cyberia/ObjectLayerEngineModal.js +145 -119
- package/src/client/components/cyberia/ObjectLayerEngineViewer.js +64 -6
- package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +1 -0
- package/src/client/components/cyberia-portal/CssCyberiaPortal.js +44 -2
- package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +0 -1
- package/src/client/components/cyberia-portal/MenuCyberiaPortal.js +64 -2
- package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +1 -0
- package/src/client/components/itemledger/CssItemledger.js +62 -0
- package/src/client/components/underpost/CommonUnderpost.js +29 -0
- package/src/client/components/underpost/CssUnderpost.js +281 -0
- package/src/client/components/underpost/CyberpunkBloggerUnderpost.js +879 -0
- package/src/client/components/underpost/DocumentSearchProvider.js +448 -0
- package/src/client/components/underpost/ElementsUnderpost.js +38 -0
- package/src/client/components/underpost/LabGalleryUnderpost.js +82 -0
- package/src/client/components/underpost/LogInUnderpost.js +23 -0
- package/src/client/components/underpost/LogOutUnderpost.js +15 -0
- package/src/client/components/underpost/MenuUnderpost.js +691 -0
- package/src/client/components/underpost/RoutesUnderpost.js +47 -0
- package/src/client/components/underpost/SettingsUnderpost.js +16 -0
- package/src/client/components/underpost/SignUpUnderpost.js +9 -0
- package/src/client/components/underpost/SocketIoUnderpost.js +54 -0
- package/src/client/components/underpost/TranslateUnderpost.js +10 -0
- package/src/client/public/cryptokoyn/assets/logo/base-icon.png +0 -0
- package/src/client/public/cryptokoyn/browserconfig.xml +12 -0
- package/src/client/public/cryptokoyn/microdata.json +85 -0
- package/src/client/public/cryptokoyn/site.webmanifest +57 -0
- package/src/client/public/cryptokoyn/sitemap +3 -3
- package/src/client/public/default/sitemap +3 -3
- package/src/client/public/itemledger/browserconfig.xml +2 -2
- package/src/client/public/itemledger/manifest.webmanifest +4 -4
- package/src/client/public/itemledger/microdata.json +71 -0
- package/src/client/public/itemledger/sitemap +3 -3
- package/src/client/public/itemledger/yandex-browser-manifest.json +2 -2
- package/src/client/public/test/sitemap +3 -3
- package/src/client/services/object-layer/object-layer.management.js +23 -4
- package/src/client/ssr/body/404.js +15 -11
- package/src/client/ssr/body/500.js +15 -11
- package/src/client/ssr/body/SwaggerDarkMode.js +285 -0
- package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +83 -0
- package/src/client/ssr/head/PwaItemledger.js +60 -0
- package/src/client/ssr/head/UnderpostScripts.js +6 -0
- package/src/client/ssr/offline/NoNetworkConnection.js +11 -10
- package/src/client/ssr/pages/Test.js +11 -10
- package/src/client.build.js +0 -3
- package/src/client.dev.js +0 -3
- package/src/db/DataBaseProvider.js +17 -2
- package/src/db/mariadb/MariaDB.js +14 -9
- package/src/db/mongo/MongooseDB.js +17 -1
- package/src/index.js +1 -1
- package/src/proxy.js +0 -3
- package/src/runtime/express/Express.js +15 -9
- package/src/runtime/lampp/Lampp.js +6 -13
- package/src/server/auth.js +12 -14
- package/src/server/backup.js +2 -3
- package/src/server/besu-genesis-generator.js +1630 -0
- package/src/server/client-build-docs.js +126 -17
- package/src/server/client-build-live.js +9 -18
- package/src/server/client-build.js +203 -75
- package/src/server/client-dev-server.js +14 -13
- package/src/server/conf.js +376 -164
- package/src/server/cron.js +2 -1
- package/src/server/dns.js +28 -12
- package/src/server/downloader.js +0 -2
- package/src/server/logger.js +27 -9
- package/src/server/object-layer.js +92 -16
- package/src/server/peer.js +0 -2
- package/src/server/process.js +1 -50
- package/src/server/proxy.js +4 -8
- package/src/server/runtime.js +5 -8
- package/src/server/semantic-layer-generator.js +1 -0
- package/src/server/ssr.js +0 -3
- package/src/server/start.js +19 -12
- package/src/server/tls.js +0 -2
- package/src/server.js +0 -4
- package/.env.development +0 -43
- package/.env.test +0 -43
- package/hardhat/contracts/CryptoKoyn.sol +0 -59
- package/hardhat/contracts/ItemLedger.sol +0 -73
- package/hardhat/contracts/Lock.sol +0 -34
- package/hardhat/hardhat.config.cjs +0 -45
- package/hardhat/ignition/modules/Lock.js +0 -18
- package/hardhat/networks/cryptokoyn-itemledger.network.json +0 -29
- package/hardhat/scripts/deployCryptokoyn.cjs +0 -25
- package/hardhat/scripts/deployItemledger.cjs +0 -25
- package/hardhat/test/Lock.js +0 -126
- package/hardhat/white-paper.md +0 -581
- 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,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 };
|
|
Binary file
|
|
@@ -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
|
+
<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="
|
|
70
|
+
href="{{web-url}}">{{web-url}}</a>
|
|
71
71
|
</p>
|
|
72
72
|
<xsl:if test="count(sitemap:sitemapindex/sitemap:sitemap) > 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
|
+
<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="
|
|
70
|
+
href="{{web-url}}">{{web-url}}</a>
|
|
71
71
|
</p>
|
|
72
72
|
<xsl:if test="count(sitemap:sitemapindex/sitemap:sitemap) > 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>#
|
|
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":
|
|
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": "#
|
|
12
|
-
"theme_color": "#
|
|
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
|
+
<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="
|
|
70
|
+
href="{{web-url}}">{{web-url}}</a>
|
|
71
71
|
</p>
|
|
72
72
|
<xsl:if test="count(sitemap:sitemapindex/sitemap:sitemap) > 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
|
+
<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="
|
|
70
|
+
href="{{web-url}}">{{web-url}}</a>
|
|
71
71
|
</p>
|
|
72
72
|
<xsl:if test="count(sitemap:sitemapindex/sitemap:sitemap) > 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?.
|
|
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.
|
|
299
|
-
headerName: '
|
|
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: '
|
|
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
|
|
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 = () =>
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
|
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 = () =>
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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>`;
|