diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml
index 4c479e7..a71b70d 100644
--- a/.github/workflows/nodejs.yml
+++ b/.github/workflows/nodejs.yml
@@ -30,7 +30,9 @@ jobs:
uses: docker/metadata-action@f3c886e26b64d7e5ef5ff5f574efc88b317b8451
with:
images: gitlab-registry.enecuum.com/reg/node-corp-site/${{ github.event.repository.name }}
- tags: type=sha,prefix={{branch}}-
+ tags: |
+ type=sha,prefix={{branch}}-,event=branch
+ type=ref,suffix=-{{sha}},event=pr
- name: Build and push
id: docker_build
diff --git a/app.js b/app.js
index ed6e638..a9ed363 100644
--- a/app.js
+++ b/app.js
@@ -249,6 +249,40 @@ hbs.registerHelper('if_eq', function(a, b, opts) {
}
});
+hbs.registerHelper('getRedditLink', function(entityId) {
+ let id = entityId.replace('#','');
+ return `https://www.reddit.com/r/EnecuumDev/search?q=%22%23${id}%22&restrict_sr=true&sort=relevance`
+});
+
+hbs.registerHelper('getEpicReadiness', function(storiesArray) {
+ let readiness = 0;
+ if (storiesArray.length > 0) {
+ let totalReadiness = 0;
+ storiesArray.forEach(function(story) {
+ totalReadiness += story.readiness;
+ });
+ readiness = totalReadiness/storiesArray.length;
+ }
+
+ return readiness == 100 ? 'Done' : `${readiness.toFixed(0)}%`
+});
+
+hbs.registerHelper('getTaskStatus', function(status) {
+ let statusStr = 'N/A';
+ switch (status) {
+ case "todo":
+ statusStr = 'ToDo';
+ break;
+ case "wip":
+ statusStr = 'WIP';
+ break;
+ case "done":
+ statusStr = 'Done';
+ break;
+ }
+ return statusStr
+});
+
hbs.registerHelper('tradingViewWidget', function(lang = 'en') {
let suffix = '';
switch (lang) {
diff --git a/assets/css/enq.css b/assets/css/enq.css
index a4c058b..047cbf8 100644
--- a/assets/css/enq.css
+++ b/assets/css/enq.css
@@ -1200,7 +1200,6 @@ table.table-to-cards .scope-col {
font-size: 15px;
border-bottom: 2px dotted #e7eaf3;
font-weight: bolder;
- padding-right: 50px;
margin-bottom: 1rem;
}
@@ -1208,24 +1207,6 @@ table.table-to-cards .scope-col {
position: relative;
}
-.roadmap-content .card-header>h5:after,
-.roadmap-content .roadmap-subtask ul>li:after {
- display: block;
- content: "0%";
- position: absolute;
- right: 0px;
- color: #888;
- font-size: 17px;
-}
-
-.roadmap-content .card-header>h5:after {
- bottom: 0px;
-}
-
-.roadmap-content .roadmap-subtask ul>li:after {
- bottom: 2px;
-}
-
.roadmap-content .card-header>h5>button {
padding: 0px;
border: none;
@@ -1254,10 +1235,9 @@ table.table-to-cards .scope-col {
padding-left: 70px;
}
-.roadmap-content #roadmapAccordionY2022 .card .card-header h5 .btn-link {
+.roadmap-content #roadmapAccordion2022 .card .card-header h5 .btn-link {
color: inherit;
text-align: start;
- padding-right: 50px;
}
.roadmap-content .tasks-card .card-header [data-toggle="collapse"][aria-expanded="false"].btn-link:before {
@@ -1266,7 +1246,7 @@ table.table-to-cards .scope-col {
position: absolute;
left: -15px;
color: #000;
- top: 4px;
+ top: 0px;
font-size: 17px;
font-weight: bold;
}
@@ -1277,7 +1257,7 @@ table.table-to-cards .scope-col {
position: absolute;
left: -15px;
color: #000;
- top: 4px;
+ top: 0px;
font-size: 17px;
font-weight: bold
}
@@ -1385,4 +1365,33 @@ table.table-to-cards .scope-col {
bottom: 0;
left: 0;
right: 0;
+}
+
+.roadmap-item-readiness {
+ flex-grow: 0;
+ flex-shrink: 0;
+ flex-basis: 4.5rem;
+ width: 4.5rem;
+ text-align: right;
+ color: #888;
+ font-size: 18px!important;
+ font-weight: normal!important;
+}
+
+.roadmap-item-external-link .conf-direct-link {
+ font-size: 1rem;
+}
+
+.roadmap-content a .fa-reddit,
+.roadmap-content .fa-reddit:hover {
+ font-size: 1.5rem;
+ color: #377dff;
+}
+
+.roadmap-content a .fa-reddit {
+ opacity: 0.7;
+}
+
+.roadmap-content .fa-reddit:hover {
+ opacity: 1;
}
\ No newline at end of file
diff --git a/config/roadmap.js b/config/roadmap.js
new file mode 100644
index 0000000..210fca9
--- /dev/null
+++ b/config/roadmap.js
@@ -0,0 +1,397 @@
+let config = {
+ statusList : ['todo', 'wip', 'done'],
+ roadmap : {
+ periods : [
+ {
+ period : '2022',
+ content : [
+ {
+ entityId : '#TrinityGrandFinale',
+ title : 'Trinity Grand Finale',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#PoW_in_Pulse',
+ title : 'PoW in Pulse',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#PoW_tst_BIT',
+ title : 'Final tests in BIT (with ENQ rewards) and release in the main network',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ },
+ {
+ entityId : '#PoS_leader_es',
+ title : 'PoS leader elections system',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#PoS_elections',
+ title : 'Implement procedure of macroblock producing right transfer',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ },
+ {
+ entityId : '#PoS_slashing',
+ title : 'Slashing mechanic',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ },
+ {
+ entityId : '#PoA_utility_revision',
+ title : 'PoA - revision for PoA utility',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#PoA_anti_frontrun',
+ title : 'PoA will be able to add transactions from own mempool (frontrun protection measure)',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ },
+ {
+ entityId : '#PoW_ASIC_protection',
+ title : 'Enabling full RandomX ASIC protection',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#PoW_MA_change',
+ title : 'Make PoW nodes change mining algorithm on regular basis',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ }
+ ]
+ },
+ {
+ entityId : '#Enecuum_VM',
+ title : 'Smart contracts Machine',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#Ethereum_VM_or_not',
+ title : 'To EVM or not to',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#ESC_analisis',
+ title : 'Analyse approaches to Ethereum smart contracts compatibility',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ },
+ {
+ entityId : '#Multisig_pContract',
+ title : 'Multisignature Precompiled contract',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#Multisig_ownersip_distr',
+ title : 'The contract allows to distribute ownership of funds between several persons in different shares',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ },
+ {
+ entityId : '#NFT_implmnt',
+ title : 'NFT tokens implementation',
+ link : undefined,
+ redditBtn : false,
+ content : [],
+ readiness : 0
+ }
+ ]
+ },
+ {
+ entityId : '#ENQ_ecosystem',
+ title : 'Ecosystem',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#Cold_wallet_int',
+ title : 'Cold wallet integration',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#Ledger_enq_app',
+ title : 'Ledger Live integration as an ease of usage for existing Enecuum Ledger App',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ },
+ {
+ entityId : '#CmtDS',
+ title : 'Community driven support',
+ link : undefined,
+ redditBtn : false,
+ content : [],
+ readiness : 0
+ },
+ {
+ entityId : '#Crosschain_dbridge',
+ title : 'Crosschain decentralized bridge',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#FT_NFT_bridge',
+ title : 'Exchange fungible and NFT tokens with Ethereum, add more blockchains',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ },
+ {
+ entityId : '#DeFi_ENQ_pl',
+ title : 'DeFi platform',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#ENEX_platform_release',
+ title : 'Enex release',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ }
+ ]
+ },
+ {
+ entityId : '#ENQ_perf_optimizatoin',
+ title : 'Performance Optimizations',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#Bin_form',
+ title : 'Binary formats',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#Net_traff_compression',
+ title : 'Compress network traffic',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ },
+ {
+ entityId : '#DB_tune',
+ title : 'Database tuning',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#DB_analisis',
+ title : 'Analyze node’s database resources usage and make it fly',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ },
+ {
+ entityId : '#IM_operations',
+ title : 'In-memory operations',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#IM_caching_mech',
+ title : 'Additional in-memory caching mechanisms for better performance',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ },
+ {
+ entityId : '#Net_throughput_inc',
+ title : 'Network throughput increase',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#Net_layers_perf',
+ title : 'Prepare network layer performance for millions of devices load, implementing Chord protocol',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ }
+ ]
+ },
+ {
+ entityId : '#ENQ_API',
+ title : 'API for life',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#N_RPC_API',
+ title : 'Node RPC API',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#Light_node_comm',
+ title : 'Add more options to directly communicate with light nodes, without resource-hungry explorer',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ },
+ {
+ entityId : '#BE_upgrade',
+ title : 'Upgrade Block Explorer into a Blockchain Provider',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#RW_BE',
+ title : 'Use explorer not only to read from the blockchain, but to write to it too',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ },
+ {
+ entityId : '#Sys_for_notif',
+ title : 'Notification system',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#Invoice_p_up',
+ title : 'Power-up invoice system by notification subscriptions for incoming transfers and more',
+ link : undefined,
+ redditBtn : false,
+ status : 'todo'
+ }
+ ],
+ readiness : 0
+ }
+ ]
+ },
+ {
+ entityId : '#ENQ_PWA',
+ title : 'Progressive Web Application',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#Miner_Andr',
+ title : 'Android miner',
+ link : undefined,
+ redditBtn : false,
+ content : [],
+ readiness : 0
+ },
+ {
+ entityId : '#Wallet_iOS',
+ title : 'iOS wallet',
+ link : undefined,
+ redditBtn : false,
+ content : [],
+ readiness : 0
+ },
+ {
+ entityId : '#PC_miner',
+ title : 'Desktop (Linux, Windows, MacOS) miners',
+ link : undefined,
+ redditBtn : false,
+ content : [],
+ readiness : 0
+ }
+ ]
+ },
+ {
+ entityId : '#OpenS_Power',
+ title : 'Open Source Power',
+ link : undefined,
+ redditBtn : false,
+ content : [
+ {
+ entityId : '#GPU_PoW_grant',
+ title : 'GPU PoW miner grant',
+ link : undefined,
+ redditBtn : false,
+ content : [],
+ readiness : 0
+ },
+ {
+ entityId : '#ENQ_Hackathon',
+ title : 'Hackathons',
+ link : undefined,
+ redditBtn : false,
+ content : [],
+ readiness : 0
+ },
+ {
+ entityId : '#BB_programs',
+ title : 'Bug Bounty',
+ link : undefined,
+ redditBtn : false,
+ content : [],
+ readiness : 0
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+}
+
+module.exports = config;
\ No newline at end of file
diff --git a/routes/roadmap.js b/routes/roadmap.js
index 6382712..5d8ffee 100644
--- a/routes/roadmap.js
+++ b/routes/roadmap.js
@@ -1,5 +1,6 @@
var express = require('express');
var router = express.Router();
+var roadmapModel = require('./../config/roadmap')
/* GET users listing. */
router.get('/', function(req, res, next) {
@@ -7,7 +8,7 @@ router.get('/', function(req, res, next) {
if (req.baseUrl !== '/' + targetResource) {
res.redirect(301, '/' + targetResource);
} else {
- res.render(targetResource, { title: 'Express' });
+ res.render(targetResource, { title: 'Express', roadmapModel : roadmapModel });
}
});
diff --git a/views/partials/roadmap/y2022/y2022.hbs b/views/partials/roadmap/y2022/y2022.hbs
deleted file mode 100644
index f5f6ad6..0000000
--- a/views/partials/roadmap/y2022/y2022.hbs
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
2022
-
- {{> y2022_e1}}
- {{> y2022_e2}}
- {{> y2022_e3}}
- {{> y2022_e4}}
- {{> y2022_e5}}
- {{> y2022_e6}}
- {{> y2022_e7}}
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e1.hbs b/views/partials/roadmap/y2022/y2022_e1.hbs
deleted file mode 100644
index dc67a55..0000000
--- a/views/partials/roadmap/y2022/y2022_e1.hbs
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- {{> y2022_e1_t1}}
- {{> y2022_e1_t2}}
- {{> y2022_e1_t3}}
- {{> y2022_e1_t4}}
-
-
-
diff --git a/views/partials/roadmap/y2022/y2022_e1_t1.hbs b/views/partials/roadmap/y2022/y2022_e1_t1.hbs
deleted file mode 100644
index 7bd5ab0..0000000
--- a/views/partials/roadmap/y2022/y2022_e1_t1.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e1_t1_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e1_t1_sts.hbs b/views/partials/roadmap/y2022/y2022_e1_t1_sts.hbs
deleted file mode 100644
index 07e0854..0000000
--- a/views/partials/roadmap/y2022/y2022_e1_t1_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
- Final tests in BIT (with ENQ rewards) and release in the main network
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e1_t2.hbs b/views/partials/roadmap/y2022/y2022_e1_t2.hbs
deleted file mode 100644
index 44ecaf1..0000000
--- a/views/partials/roadmap/y2022/y2022_e1_t2.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e1_t2_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e1_t2_sts.hbs b/views/partials/roadmap/y2022/y2022_e1_t2_sts.hbs
deleted file mode 100644
index 33e5d2e..0000000
--- a/views/partials/roadmap/y2022/y2022_e1_t2_sts.hbs
+++ /dev/null
@@ -1,8 +0,0 @@
-
- -
- Implement procedure of macroblock producing right transfer
-
- -
- Slashing mechanic
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e1_t3.hbs b/views/partials/roadmap/y2022/y2022_e1_t3.hbs
deleted file mode 100644
index 2a280a2..0000000
--- a/views/partials/roadmap/y2022/y2022_e1_t3.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e1_t3_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e1_t3_sts.hbs b/views/partials/roadmap/y2022/y2022_e1_t3_sts.hbs
deleted file mode 100644
index 4370be5..0000000
--- a/views/partials/roadmap/y2022/y2022_e1_t3_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
- PoA will be able to add transactions from own mempool (frontrun protection measure)
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e1_t4.hbs b/views/partials/roadmap/y2022/y2022_e1_t4.hbs
deleted file mode 100644
index 654e6d7..0000000
--- a/views/partials/roadmap/y2022/y2022_e1_t4.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e1_t4_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e1_t4_sts.hbs b/views/partials/roadmap/y2022/y2022_e1_t4_sts.hbs
deleted file mode 100644
index 6ae5ffb..0000000
--- a/views/partials/roadmap/y2022/y2022_e1_t4_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
- Make PoW nodes change mining algorithm on regular basis
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e2.hbs b/views/partials/roadmap/y2022/y2022_e2.hbs
deleted file mode 100644
index 0b699ac..0000000
--- a/views/partials/roadmap/y2022/y2022_e2.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- {{> y2022_e2_t1}}
- {{> y2022_e2_t2}}
- {{> y2022_e2_t3}}
-
-
-
diff --git a/views/partials/roadmap/y2022/y2022_e2_t1.hbs b/views/partials/roadmap/y2022/y2022_e2_t1.hbs
deleted file mode 100644
index 7fa1704..0000000
--- a/views/partials/roadmap/y2022/y2022_e2_t1.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e2_t1_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e2_t1_sts.hbs b/views/partials/roadmap/y2022/y2022_e2_t1_sts.hbs
deleted file mode 100644
index af3a06c..0000000
--- a/views/partials/roadmap/y2022/y2022_e2_t1_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
- Analyse approaches to Ethereum smart contracts compatibility
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e2_t2.hbs b/views/partials/roadmap/y2022/y2022_e2_t2.hbs
deleted file mode 100644
index 8ae24d7..0000000
--- a/views/partials/roadmap/y2022/y2022_e2_t2.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e2_t2_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e2_t2_sts.hbs b/views/partials/roadmap/y2022/y2022_e2_t2_sts.hbs
deleted file mode 100644
index 4bbf466..0000000
--- a/views/partials/roadmap/y2022/y2022_e2_t2_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
- The contract allows to distribute ownership of funds between several persons in different shares
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e2_t3.hbs b/views/partials/roadmap/y2022/y2022_e2_t3.hbs
deleted file mode 100644
index c47a36a..0000000
--- a/views/partials/roadmap/y2022/y2022_e2_t3.hbs
+++ /dev/null
@@ -1,11 +0,0 @@
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e3.hbs b/views/partials/roadmap/y2022/y2022_e3.hbs
deleted file mode 100644
index 92438aa..0000000
--- a/views/partials/roadmap/y2022/y2022_e3.hbs
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- {{> y2022_e3_t1}}
- {{> y2022_e3_t2}}
- {{> y2022_e3_t3}}
- {{> y2022_e3_t4}}
-
-
-
diff --git a/views/partials/roadmap/y2022/y2022_e3_t1.hbs b/views/partials/roadmap/y2022/y2022_e3_t1.hbs
deleted file mode 100644
index ad4ab22..0000000
--- a/views/partials/roadmap/y2022/y2022_e3_t1.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e3_t1_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e3_t1_sts.hbs b/views/partials/roadmap/y2022/y2022_e3_t1_sts.hbs
deleted file mode 100644
index a9b3723..0000000
--- a/views/partials/roadmap/y2022/y2022_e3_t1_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
- Ledger Live integration as an ease of usage for existing Enecuum Ledger App
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e3_t2.hbs b/views/partials/roadmap/y2022/y2022_e3_t2.hbs
deleted file mode 100644
index fea7c7f..0000000
--- a/views/partials/roadmap/y2022/y2022_e3_t2.hbs
+++ /dev/null
@@ -1,11 +0,0 @@
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e3_t3.hbs b/views/partials/roadmap/y2022/y2022_e3_t3.hbs
deleted file mode 100644
index 679e537..0000000
--- a/views/partials/roadmap/y2022/y2022_e3_t3.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e3_t3_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e3_t3_sts.hbs b/views/partials/roadmap/y2022/y2022_e3_t3_sts.hbs
deleted file mode 100644
index 7f555b9..0000000
--- a/views/partials/roadmap/y2022/y2022_e3_t3_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
- Exchange fungible and NFT tokens with Ethereum, add more blockchains
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e3_t4.hbs b/views/partials/roadmap/y2022/y2022_e3_t4.hbs
deleted file mode 100644
index a406f74..0000000
--- a/views/partials/roadmap/y2022/y2022_e3_t4.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e3_t4_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e3_t4_sts.hbs b/views/partials/roadmap/y2022/y2022_e3_t4_sts.hbs
deleted file mode 100644
index 7325c81..0000000
--- a/views/partials/roadmap/y2022/y2022_e3_t4_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e4.hbs b/views/partials/roadmap/y2022/y2022_e4.hbs
deleted file mode 100644
index dc5a82f..0000000
--- a/views/partials/roadmap/y2022/y2022_e4.hbs
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- {{> y2022_e4_t1}}
- {{> y2022_e4_t2}}
- {{> y2022_e4_t3}}
- {{> y2022_e4_t4}}
-
-
-
diff --git a/views/partials/roadmap/y2022/y2022_e4_t1.hbs b/views/partials/roadmap/y2022/y2022_e4_t1.hbs
deleted file mode 100644
index 7c245af..0000000
--- a/views/partials/roadmap/y2022/y2022_e4_t1.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e4_t1_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e4_t1_sts.hbs b/views/partials/roadmap/y2022/y2022_e4_t1_sts.hbs
deleted file mode 100644
index 9024eb7..0000000
--- a/views/partials/roadmap/y2022/y2022_e4_t1_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
- Compress network traffic
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e4_t2.hbs b/views/partials/roadmap/y2022/y2022_e4_t2.hbs
deleted file mode 100644
index 2632037..0000000
--- a/views/partials/roadmap/y2022/y2022_e4_t2.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e4_t2_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e4_t2_sts.hbs b/views/partials/roadmap/y2022/y2022_e4_t2_sts.hbs
deleted file mode 100644
index 5a6547a..0000000
--- a/views/partials/roadmap/y2022/y2022_e4_t2_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
- Analyze node’s database resources usage and make it fly
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e4_t3.hbs b/views/partials/roadmap/y2022/y2022_e4_t3.hbs
deleted file mode 100644
index 1d4bb01..0000000
--- a/views/partials/roadmap/y2022/y2022_e4_t3.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e4_t3_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e4_t3_sts.hbs b/views/partials/roadmap/y2022/y2022_e4_t3_sts.hbs
deleted file mode 100644
index 3fc9bd0..0000000
--- a/views/partials/roadmap/y2022/y2022_e4_t3_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
- Additional in-memory caching mechanisms for better performance
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e4_t4.hbs b/views/partials/roadmap/y2022/y2022_e4_t4.hbs
deleted file mode 100644
index 034b2de..0000000
--- a/views/partials/roadmap/y2022/y2022_e4_t4.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e4_t4_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e4_t4_sts.hbs b/views/partials/roadmap/y2022/y2022_e4_t4_sts.hbs
deleted file mode 100644
index b7a22b3..0000000
--- a/views/partials/roadmap/y2022/y2022_e4_t4_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
- Prepare network layer performance for millions of devices load, implementing Chord protocol
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e5.hbs b/views/partials/roadmap/y2022/y2022_e5.hbs
deleted file mode 100644
index c4c9c58..0000000
--- a/views/partials/roadmap/y2022/y2022_e5.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- {{> y2022_e5_t1}}
- {{> y2022_e5_t2}}
- {{> y2022_e5_t3}}
-
-
-
diff --git a/views/partials/roadmap/y2022/y2022_e5_t1.hbs b/views/partials/roadmap/y2022/y2022_e5_t1.hbs
deleted file mode 100644
index 2a7837d..0000000
--- a/views/partials/roadmap/y2022/y2022_e5_t1.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e5_t1_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e5_t1_sts.hbs b/views/partials/roadmap/y2022/y2022_e5_t1_sts.hbs
deleted file mode 100644
index 3d3255d..0000000
--- a/views/partials/roadmap/y2022/y2022_e5_t1_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
- Add more options to directly communicate with light nodes, without resource-hungry explorer
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e5_t2.hbs b/views/partials/roadmap/y2022/y2022_e5_t2.hbs
deleted file mode 100644
index ac1f368..0000000
--- a/views/partials/roadmap/y2022/y2022_e5_t2.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e5_t2_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e5_t2_sts.hbs b/views/partials/roadmap/y2022/y2022_e5_t2_sts.hbs
deleted file mode 100644
index d1d4266..0000000
--- a/views/partials/roadmap/y2022/y2022_e5_t2_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
- Use explorer not only to read from the blockchain, but to write to it too
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e5_t3.hbs b/views/partials/roadmap/y2022/y2022_e5_t3.hbs
deleted file mode 100644
index 4fbedee..0000000
--- a/views/partials/roadmap/y2022/y2022_e5_t3.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- {{> y2022_e5_t3_sts}}
-
-
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e5_t3_sts.hbs b/views/partials/roadmap/y2022/y2022_e5_t3_sts.hbs
deleted file mode 100644
index eb9a9d7..0000000
--- a/views/partials/roadmap/y2022/y2022_e5_t3_sts.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
- -
- Power-up invoice system by notification subscriptions for incoming transfers and more
-
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e6.hbs b/views/partials/roadmap/y2022/y2022_e6.hbs
deleted file mode 100644
index 365815a..0000000
--- a/views/partials/roadmap/y2022/y2022_e6.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- {{> y2022_e6_t1}}
- {{> y2022_e6_t2}}
- {{> y2022_e6_t3}}
-
-
-
diff --git a/views/partials/roadmap/y2022/y2022_e6_t1.hbs b/views/partials/roadmap/y2022/y2022_e6_t1.hbs
deleted file mode 100644
index c35cd6c..0000000
--- a/views/partials/roadmap/y2022/y2022_e6_t1.hbs
+++ /dev/null
@@ -1,11 +0,0 @@
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e6_t2.hbs b/views/partials/roadmap/y2022/y2022_e6_t2.hbs
deleted file mode 100644
index f6d1757..0000000
--- a/views/partials/roadmap/y2022/y2022_e6_t2.hbs
+++ /dev/null
@@ -1,11 +0,0 @@
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e6_t3.hbs b/views/partials/roadmap/y2022/y2022_e6_t3.hbs
deleted file mode 100644
index 8934170..0000000
--- a/views/partials/roadmap/y2022/y2022_e6_t3.hbs
+++ /dev/null
@@ -1,11 +0,0 @@
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e7.hbs b/views/partials/roadmap/y2022/y2022_e7.hbs
deleted file mode 100644
index 2b7a466..0000000
--- a/views/partials/roadmap/y2022/y2022_e7.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- {{> y2022_e7_t1}}
- {{> y2022_e7_t2}}
- {{> y2022_e7_t3}}
-
-
-
diff --git a/views/partials/roadmap/y2022/y2022_e7_t1.hbs b/views/partials/roadmap/y2022/y2022_e7_t1.hbs
deleted file mode 100644
index 52d414f..0000000
--- a/views/partials/roadmap/y2022/y2022_e7_t1.hbs
+++ /dev/null
@@ -1,11 +0,0 @@
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e7_t2.hbs b/views/partials/roadmap/y2022/y2022_e7_t2.hbs
deleted file mode 100644
index df7b8ea..0000000
--- a/views/partials/roadmap/y2022/y2022_e7_t2.hbs
+++ /dev/null
@@ -1,11 +0,0 @@
-
\ No newline at end of file
diff --git a/views/partials/roadmap/y2022/y2022_e7_t3.hbs b/views/partials/roadmap/y2022/y2022_e7_t3.hbs
deleted file mode 100644
index 87d116a..0000000
--- a/views/partials/roadmap/y2022/y2022_e7_t3.hbs
+++ /dev/null
@@ -1,11 +0,0 @@
-
\ No newline at end of file
diff --git a/views/roadmap.hbs b/views/roadmap.hbs
index 8371e22..d5621d6 100644
--- a/views/roadmap.hbs
+++ b/views/roadmap.hbs
@@ -72,7 +72,127 @@
- {{> y2022}}
+
+ {{#each roadmapModel.roadmap.periods as |p periodIndex|}}
+
{{p.period}}
+
+ {{#each this.content as |epic epicIndex|}}
+
+
+ {{#if epic.content.length}}
+
+
+ {{#each this.content as |story storyIndex|}}
+
+
+
+ {{#if story.content.length}}
+
+
+
+ {{#each this.content as |task index|}}
+ -
+
+
{{task.title}}
+
+ {{#if task.link}}
+
Read more
+ {{else}}
+ {{#if task.redditBtn}}
+ {{#if task.entityId}}
+
+ {{/if}}
+ {{/if}}
+ {{/if}}
+
+
+
+ {{getTaskStatus task.status}}
+
+
+
+
+ {{/each}}
+
+
+
+ {{/if}}
+
+
+ {{/each}}
+
+
+ {{/if}}
+
+ {{/each}}
+
+ {{/each}}
+
+
{{> olderYears}}