cyberia 3.0.3 → 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 +211 -1
- package/CLI-HELP.md +78 -53
- package/WHITE-PAPER.md +1540 -0
- package/bin/build.js +16 -10
- package/bin/cyberia.js +861 -4
- package/bin/deploy.js +103 -270
- package/bin/file.js +2 -1
- package/bin/index.js +861 -4
- package/bin/vs.js +3 -3
- package/conf.js +105 -97
- package/deployment.yaml +148 -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 +50 -44
- package/proxy.yaml +79 -7
- 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/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 +12 -8
- package/src/api/object-layer/object-layer.router.js +668 -42
- package/src/api/object-layer/object-layer.service.js +6 -7
- 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 +35 -13
- package/src/cli/monitor.js +5 -6
- package/src/cli/repository.js +329 -46
- package/src/cli/run.js +180 -120
- 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/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 +20 -6
- package/src/client/components/core/RichText.js +1 -2
- 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/underpost/CssUnderpost.js +59 -0
- package/src/client/components/underpost/LogInUnderpost.js +3 -0
- package/src/client/components/underpost/LogOutUnderpost.js +2 -0
- package/src/client/components/underpost/MenuUnderpost.js +99 -13
- package/src/client/components/underpost/RoutesUnderpost.js +2 -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/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/head/PwaItemledger.js +60 -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 +79 -6
- 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/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
|
@@ -158,6 +158,65 @@ const CssCommonUnderpost = async () => {
|
|
|
158
158
|
.creator-avatar {
|
|
159
159
|
border-radius: 0px !important;
|
|
160
160
|
}
|
|
161
|
+
|
|
162
|
+
.content-render h1 {
|
|
163
|
+
font-size: 18px;
|
|
164
|
+
}
|
|
165
|
+
.content-render h2 {
|
|
166
|
+
font-size: 16px;
|
|
167
|
+
}
|
|
168
|
+
.content-render h3 {
|
|
169
|
+
font-size: 14px;
|
|
170
|
+
}
|
|
171
|
+
.content-render p {
|
|
172
|
+
font-size: 22px;
|
|
173
|
+
}
|
|
174
|
+
.underpost-panel-subtitle {
|
|
175
|
+
top: 3px !important;
|
|
176
|
+
}
|
|
177
|
+
.underpost-panel-cell,
|
|
178
|
+
.underpost-panel-cell p,
|
|
179
|
+
.underpost-panel-cell span,
|
|
180
|
+
.underpost-panel-cell a,
|
|
181
|
+
.underpost-panel-cell div,
|
|
182
|
+
.underpost-panel-cell pre,
|
|
183
|
+
.underpost-panel-cell code,
|
|
184
|
+
.EasyMDEContainer,
|
|
185
|
+
.editor-preview,
|
|
186
|
+
.editor-preview-full,
|
|
187
|
+
.editor-preview p,
|
|
188
|
+
.editor-preview-full p,
|
|
189
|
+
.editor-preview span,
|
|
190
|
+
.editor-preview-full span,
|
|
191
|
+
.editor-preview a,
|
|
192
|
+
.editor-preview-full a,
|
|
193
|
+
.editor-preview div,
|
|
194
|
+
.editor-preview-full div,
|
|
195
|
+
.editor-preview pre,
|
|
196
|
+
.editor-preview-full pre,
|
|
197
|
+
.editor-preview code,
|
|
198
|
+
.editor-preview-full code {
|
|
199
|
+
font-family: var(--up-font-retro-sensitive);
|
|
200
|
+
font-size: 24px;
|
|
201
|
+
}
|
|
202
|
+
.underpost-panel-cell h1,
|
|
203
|
+
.editor-preview h1,
|
|
204
|
+
.editor-preview-full h1 {
|
|
205
|
+
font-family: var(--up-font-retro-sensitive);
|
|
206
|
+
font-size: 36px;
|
|
207
|
+
}
|
|
208
|
+
.underpost-panel-cell h2,
|
|
209
|
+
.editor-preview h2,
|
|
210
|
+
.editor-preview-full h2 {
|
|
211
|
+
font-family: var(--up-font-retro-sensitive);
|
|
212
|
+
font-size: 30px;
|
|
213
|
+
}
|
|
214
|
+
.underpost-panel-cell h3,
|
|
215
|
+
.editor-preview h3,
|
|
216
|
+
.editor-preview-full h3 {
|
|
217
|
+
font-family: var(--up-font-retro-sensitive);
|
|
218
|
+
font-size: 26px;
|
|
219
|
+
}
|
|
161
220
|
</style>
|
|
162
221
|
|
|
163
222
|
<div class="ag-grid-style"></div>`;
|
|
@@ -3,6 +3,8 @@ import { LogIn } from '../core/LogIn.js';
|
|
|
3
3
|
import { ElementsUnderpost } from './ElementsUnderpost.js';
|
|
4
4
|
import { PanelForm } from '../core/PanelForm.js';
|
|
5
5
|
import { RouterReady } from '../core/Router.js';
|
|
6
|
+
import { s } from '../core/VanillaJs.js';
|
|
7
|
+
import { commonUserGuard } from '../core/CommonJs.js';
|
|
6
8
|
|
|
7
9
|
const LogInUnderpost = async function () {
|
|
8
10
|
LogIn.Event['LogInUnderpost'] = async (options) => {
|
|
@@ -12,6 +14,7 @@ const LogInUnderpost = async function () {
|
|
|
12
14
|
|
|
13
15
|
await RouterReady;
|
|
14
16
|
await PanelForm.Data['underpost-panel'].updatePanel();
|
|
17
|
+
if (s(`.main-btn-cloud`) && commonUserGuard(user.role)) s(`.main-btn-cloud`).classList.remove('hide');
|
|
15
18
|
};
|
|
16
19
|
const { user } = await Auth.sessionIn();
|
|
17
20
|
ElementsUnderpost.Data.user.main.model.user = user;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { LogOut } from '../core/LogOut.js';
|
|
2
2
|
import { ElementsUnderpost } from './ElementsUnderpost.js';
|
|
3
3
|
import { PanelForm } from '../core/PanelForm.js';
|
|
4
|
+
import { s } from '../core/VanillaJs.js';
|
|
4
5
|
|
|
5
6
|
const LogOutUnderpost = async function () {
|
|
6
7
|
LogOut.Event['LogOutUnderpost'] = async (result = { user: { _id: '' } }) => {
|
|
7
8
|
ElementsUnderpost.Data.user.main.model.user = result.user;
|
|
8
9
|
|
|
9
10
|
PanelForm.Data['underpost-panel'].updatePanel();
|
|
11
|
+
if (s(`.main-btn-cloud`)) s(`.main-btn-cloud`).classList.add('hide');
|
|
10
12
|
};
|
|
11
13
|
};
|
|
12
14
|
|
|
@@ -23,6 +23,8 @@ import { SearchBox } from '../core/SearchBox.js';
|
|
|
23
23
|
import { DocumentSearchProvider } from './DocumentSearchProvider.js';
|
|
24
24
|
import { PublicProfile } from '../core/PublicProfile.js';
|
|
25
25
|
import { Polyhedron } from '../core/Polyhedron.js';
|
|
26
|
+
import { FileExplorer } from '../core/FileExplorer.js';
|
|
27
|
+
import { Content } from '../core/Content.js';
|
|
26
28
|
|
|
27
29
|
const MenuUnderpost = {
|
|
28
30
|
Data: {},
|
|
@@ -50,19 +52,24 @@ const MenuUnderpost = {
|
|
|
50
52
|
handleContainerClass: 'handle-btn-container',
|
|
51
53
|
tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('blog')),
|
|
52
54
|
})}
|
|
53
|
-
${
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
55
|
+
${true
|
|
56
|
+
? ''
|
|
57
|
+
: await BtnIcon.Render({
|
|
58
|
+
class: 'in wfa main-btn-menu main-btn-lab-gallery hide',
|
|
59
|
+
useMenuBtn: true,
|
|
60
|
+
label: renderMenuLabel({
|
|
61
|
+
icon: html`<img
|
|
62
|
+
class="inl underpost-menu-icon"
|
|
63
|
+
src="${getProxyPath()}assets/ui-icons/gallery.png"
|
|
64
|
+
/>`,
|
|
65
|
+
text: html`<span class="menu-label-text">${Translate.Render('lab-gallery')}</span>`,
|
|
66
|
+
}),
|
|
67
|
+
// style: 'display: none',
|
|
68
|
+
attrs: `data-id="lab-gallery"`,
|
|
69
|
+
tabHref: `${getProxyPath()}lab-gallery`,
|
|
70
|
+
handleContainerClass: 'handle-btn-container',
|
|
71
|
+
tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('blog')),
|
|
72
|
+
})}
|
|
66
73
|
${await BtnIcon.Render({
|
|
67
74
|
class: 'in wfa main-btn-menu main-btn-home main-btn-menu-active',
|
|
68
75
|
useMenuBtn: true,
|
|
@@ -139,6 +146,30 @@ const MenuUnderpost = {
|
|
|
139
146
|
handleContainerClass: 'handle-btn-container',
|
|
140
147
|
tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('public-profile')),
|
|
141
148
|
})}
|
|
149
|
+
${await BtnIcon.Render({
|
|
150
|
+
class: 'in wfa main-btn-menu main-btn-content hide',
|
|
151
|
+
useMenuBtn: true,
|
|
152
|
+
label: renderMenuLabel({
|
|
153
|
+
icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/doc.png" />`,
|
|
154
|
+
text: html`<span class="menu-label-text">${Translate.Render('content')}</span>`,
|
|
155
|
+
}),
|
|
156
|
+
attrs: `data-id="content"`,
|
|
157
|
+
tabHref: `${getProxyPath()}content`,
|
|
158
|
+
handleContainerClass: 'handle-btn-container',
|
|
159
|
+
tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('content')),
|
|
160
|
+
})}
|
|
161
|
+
${await BtnIcon.Render({
|
|
162
|
+
class: 'in wfa main-btn-menu main-btn-cloud hide',
|
|
163
|
+
useMenuBtn: true,
|
|
164
|
+
label: renderMenuLabel({
|
|
165
|
+
icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/cloud.png" />`,
|
|
166
|
+
text: html`<span class="menu-label-text">${Translate.Render('cloud')}</span>`,
|
|
167
|
+
}),
|
|
168
|
+
attrs: `data-id="cloud"`,
|
|
169
|
+
tabHref: `${getProxyPath()}cloud`,
|
|
170
|
+
handleContainerClass: 'handle-btn-container',
|
|
171
|
+
tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('cloud')),
|
|
172
|
+
})}
|
|
142
173
|
${await BtnIcon.Render({
|
|
143
174
|
class: 'in wfa main-btn-menu main-btn-settings',
|
|
144
175
|
useMenuBtn: true,
|
|
@@ -543,6 +574,61 @@ const MenuUnderpost = {
|
|
|
543
574
|
});
|
|
544
575
|
});
|
|
545
576
|
|
|
577
|
+
EventsUI.onClick(`.main-btn-content`, async () => {
|
|
578
|
+
let subModalId = '';
|
|
579
|
+
const path =
|
|
580
|
+
location.pathname[location.pathname.length - 1] === '/' ? location.pathname.slice(0, -1) : location.pathname;
|
|
581
|
+
|
|
582
|
+
if (path.split('/').pop() === 'content' && getQueryParams().cid) {
|
|
583
|
+
subModalId = `-${getQueryParams().cid}`;
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
const { barConfig } = await Themes[Css.currentTheme]();
|
|
587
|
+
await Modal.Render({
|
|
588
|
+
id: `modal-content${subModalId}`,
|
|
589
|
+
route: 'content',
|
|
590
|
+
barConfig,
|
|
591
|
+
title: renderViewTitle({
|
|
592
|
+
icon: html`<img class="inl underpost-menu-icon-modal" src="${getProxyPath()}assets/ui-icons/doc.png" />`,
|
|
593
|
+
text: `<span class='inl underpost-text-title-modal'>${Translate.Render('content')}</span>`,
|
|
594
|
+
}),
|
|
595
|
+
html: async () =>
|
|
596
|
+
await Content.Render({
|
|
597
|
+
idModal: `modal-content${subModalId}`,
|
|
598
|
+
titleIcon: html`<img
|
|
599
|
+
class="inl underpost-menu-icon-modal"
|
|
600
|
+
src="${getProxyPath()}assets/ui-icons/doc.png"
|
|
601
|
+
/>`,
|
|
602
|
+
}),
|
|
603
|
+
query: true,
|
|
604
|
+
observer: true,
|
|
605
|
+
handleType: 'bar',
|
|
606
|
+
maximize: true,
|
|
607
|
+
mode: 'view',
|
|
608
|
+
slideMenu: 'modal-menu',
|
|
609
|
+
RouterInstance,
|
|
610
|
+
});
|
|
611
|
+
});
|
|
612
|
+
|
|
613
|
+
EventsUI.onClick(`.main-btn-cloud`, async () => {
|
|
614
|
+
const { barConfig } = await Themes[Css.currentTheme]();
|
|
615
|
+
await Modal.Render({
|
|
616
|
+
id: 'modal-cloud',
|
|
617
|
+
route: 'cloud',
|
|
618
|
+
barConfig,
|
|
619
|
+
title: renderViewTitle({
|
|
620
|
+
icon: html`<img class="inl underpost-menu-icon-modal" src="${getProxyPath()}assets/ui-icons/cloud.png" />`,
|
|
621
|
+
text: `<span class='inl underpost-text-title-modal'>${Translate.Render('cloud')}</span>`,
|
|
622
|
+
}),
|
|
623
|
+
html: async () => await FileExplorer.Render({ idModal: 'modal-cloud' }),
|
|
624
|
+
handleType: 'bar',
|
|
625
|
+
maximize: true,
|
|
626
|
+
mode: 'view',
|
|
627
|
+
slideMenu: 'modal-menu',
|
|
628
|
+
RouterInstance,
|
|
629
|
+
});
|
|
630
|
+
});
|
|
631
|
+
|
|
546
632
|
EventsUI.onClick(`.main-btn-recover`, async () => {
|
|
547
633
|
const { barConfig } = await Themes[Css.currentTheme]();
|
|
548
634
|
await Modal.Render({
|
|
@@ -32,6 +32,8 @@ const RoutesUnderpost = () => {
|
|
|
32
32
|
'/u': { title: 'public-profile', render: () => s(`.main-btn-public-profile`).click() },
|
|
33
33
|
'/settings': { title: 'settings', render: () => s(`.main-btn-settings`).click() },
|
|
34
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() },
|
|
35
37
|
'/polyhedron': { title: 'polyhedron', render: () => s(`.main-btn-polyhedron`).click() },
|
|
36
38
|
};
|
|
37
39
|
};
|
|
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>
|
|
@@ -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>`;
|