diff --git a/package-lock.json b/package-lock.json
index 19f9dad..b591f6b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12567,14 +12567,6 @@
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
- "typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
"ua-parser-js": {
"version": "0.7.17",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz",
@@ -14121,8 +14113,19 @@
"integrity": "sha1-fecPG4Py3jZHZ3IVa+z+9uNRbrM=",
"requires": {
"underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.34",
- "websocket": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2"
+ "web3-core-helpers": "1.0.0-beta.34"
+ },
+ "dependencies": {
+ "websocket": {
+ "version": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2",
+ "from": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2",
+ "requires": {
+ "debug": "^2.2.0",
+ "nan": "^2.3.3",
+ "typedarray-to-buffer": "^3.1.2",
+ "yaeti": "^0.0.6"
+ }
+ }
}
},
"web3-shh": {
@@ -14520,16 +14523,6 @@
}
}
},
- "websocket": {
- "version": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2",
- "from": "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible",
- "requires": {
- "debug": "^2.2.0",
- "nan": "^2.3.3",
- "typedarray-to-buffer": "^3.1.2",
- "yaeti": "^0.0.6"
- }
- },
"websocket-driver": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
@@ -14781,11 +14774,6 @@
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
"integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
},
- "yaeti": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
- "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc="
- },
"yallist": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
diff --git a/src/assets/images/Keys/kovan.svg b/src/assets/images/Keys/kovan.svg
new file mode 100644
index 0000000..2177423
--- /dev/null
+++ b/src/assets/images/Keys/kovan.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/images/MainImage/kovan/image.png b/src/assets/images/MainImage/kovan/image.png
new file mode 100644
index 0000000..347a956
Binary files /dev/null and b/src/assets/images/MainImage/kovan/image.png differ
diff --git a/src/assets/images/MainImage/kovan/image@2x.png b/src/assets/images/MainImage/kovan/image@2x.png
new file mode 100644
index 0000000..9528569
Binary files /dev/null and b/src/assets/images/MainImage/kovan/image@2x.png differ
diff --git a/src/assets/images/MainImage/kovan/image@3x.png b/src/assets/images/MainImage/kovan/image@3x.png
new file mode 100644
index 0000000..c69b74d
Binary files /dev/null and b/src/assets/images/MainImage/kovan/image@3x.png differ
diff --git a/src/assets/stylesheets/components/_ButtonDownload.scss b/src/assets/stylesheets/components/_ButtonDownload.scss
index 6800768..00b5185 100644
--- a/src/assets/stylesheets/components/_ButtonDownload.scss
+++ b/src/assets/stylesheets/components/_ButtonDownload.scss
@@ -25,6 +25,12 @@ $sw-ButtonDownload-height: 44px !default;
@include button-shadow($xdai-orange);
}
+ { & }-kovan {
+ background-color: $kovan-cyan;
+ @include button-focus-active-hover($kovan-cyan);
+ @include button-shadow($kovan-cyan);
+ }
+
.ky-Keys_Block & {
margin-top: auto;
diff --git a/src/assets/stylesheets/components/_ButtonGenerate.scss b/src/assets/stylesheets/components/_ButtonGenerate.scss
index ae1b10d..2f9eec4 100644
--- a/src/assets/stylesheets/components/_ButtonGenerate.scss
+++ b/src/assets/stylesheets/components/_ButtonGenerate.scss
@@ -25,6 +25,12 @@ $sw-ButtonGenerate-height: 44px !default;
@include button-shadow($xdai-orange);
}
+ { & }-kovan {
+ background-color: $kovan-cyan;
+ @include button-focus-active-hover($kovan-cyan);
+ @include button-shadow($kovan-cyan);
+ }
+
.hm-Home & {
width: 100%;
diff --git a/src/assets/stylesheets/components/_Footer.scss b/src/assets/stylesheets/components/_Footer.scss
index 53f7632..3f085cd 100644
--- a/src/assets/stylesheets/components/_Footer.scss
+++ b/src/assets/stylesheets/components/_Footer.scss
@@ -21,6 +21,10 @@
{ & }-dai {
background-color: $xdai-gray;
}
+
+ { & }-kovan {
+ background-color: $kovan-cyan;
+ }
}
.sw-Footer_Content {
diff --git a/src/assets/stylesheets/components/_Header.scss b/src/assets/stylesheets/components/_Header.scss
index d5d264f..9774cfe 100644
--- a/src/assets/stylesheets/components/_Header.scss
+++ b/src/assets/stylesheets/components/_Header.scss
@@ -20,6 +20,10 @@
{ & }-dai {
background-color: $xdai-gray;
}
+
+ { & }-kovan {
+ background-color: $kovan-cyan;
+ }
}
.sw-Header_Content {
diff --git a/src/assets/stylesheets/components/_Keys.scss b/src/assets/stylesheets/components/_Keys.scss
index 8fa0e6a..dc73416 100644
--- a/src/assets/stylesheets/components/_Keys.scss
+++ b/src/assets/stylesheets/components/_Keys.scss
@@ -10,6 +10,10 @@ $ky-Keys-gap: 40px;
#{ $property }: $sokol-cyan;
}
+ { & }-kovan {
+ #{ $property }: $kovan-cyan;
+ }
+
}
@mixin keys-color-variants($property) {
@@ -109,6 +113,10 @@ $ky-Keys-gap: 40px;
background-image: url('#{ $base-images-path }/Keys/dai.svg');
}
+ { & }-kovan {
+ background-image: url('#{ $base-images-path }/Keys/kovan.svg');
+ }
+
.ky-Keys_HashContainer & {
margin-left: 3px;
margin-top: -4px;
diff --git a/src/assets/stylesheets/components/_Loading.scss b/src/assets/stylesheets/components/_Loading.scss
index 3428bf4..0229325 100644
--- a/src/assets/stylesheets/components/_Loading.scss
+++ b/src/assets/stylesheets/components/_Loading.scss
@@ -22,6 +22,10 @@
{ & }-dai {
background-color: rgba($xdai-orange, 0.5);
}
+
+ { & }-kovan {
+ background-color: rgba($kovan-cyan, 0.5);
+ }
}
.ld-Loading_Animation {
diff --git a/src/assets/stylesheets/components/_LogoKovan.scss b/src/assets/stylesheets/components/_LogoKovan.scss
new file mode 100644
index 0000000..6114a30
--- /dev/null
+++ b/src/assets/stylesheets/components/_LogoKovan.scss
@@ -0,0 +1,20 @@
+.sw-LogoKovan {
+ display: block;
+ text-decoration: none;
+
+ .sw-Header & {
+ height: 30px;
+ width: 178px;
+ }
+
+ .sw-Footer & {
+ height: 26px;
+ }
+
+}
+
+.sw-LogoKovan_Image {
+ display: block;
+ height: 100%;
+ width: 100%;
+}
\ No newline at end of file
diff --git a/src/assets/stylesheets/components/_MainImage.scss b/src/assets/stylesheets/components/_MainImage.scss
index 4cbd78a..aeada36 100644
--- a/src/assets/stylesheets/components/_MainImage.scss
+++ b/src/assets/stylesheets/components/_MainImage.scss
@@ -28,4 +28,8 @@
{ & }-dai {
@include image-retina('#{ $base-images-path }/MainImage/dai/image', 'png');
}
+
+ { & }-kovan {
+ @include image-retina('#{ $base-images-path }/MainImage/kovan/image', 'png');
+ }
}
\ No newline at end of file
diff --git a/src/assets/stylesheets/components/_index.scss b/src/assets/stylesheets/components/_index.scss
index c513d9e..0cfe937 100644
--- a/src/assets/stylesheets/components/_index.scss
+++ b/src/assets/stylesheets/components/_index.scss
@@ -14,5 +14,6 @@
@import "LogoDai";
@import "LogoPOA";
@import "LogoSokol";
+@import "LogoKovan";
@import "MainImage";
@import "SocialIcons";
\ No newline at end of file
diff --git a/src/assets/stylesheets/helpers/_variables.scss b/src/assets/stylesheets/helpers/_variables.scss
index 1089052..0d20177 100644
--- a/src/assets/stylesheets/helpers/_variables.scss
+++ b/src/assets/stylesheets/helpers/_variables.scss
@@ -1,6 +1,7 @@
// brand colors
$poa-purple: #5a2da5;
$sokol-cyan: #8ce1d7;
+$kovan-cyan: #8ce1d7;
$xdai-orange: #fec042;
$xdai-gray: #f2f6f8;
diff --git a/src/assets/stylesheets/index.css b/src/assets/stylesheets/index.css
index a7fb006..5483e4f 100644
--- a/src/assets/stylesheets/index.css
+++ b/src/assets/stylesheets/index.css
@@ -658,6 +658,13 @@ body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
background-color: #feaf0f; }
.sw-ButtonDownload.sw-ButtonDownload-dai[disabled]:focus, .sw-ButtonDownload.sw-ButtonDownload-dai[disabled].active, .sw-ButtonDownload.sw-ButtonDownload-dai[disabled]:hover {
background-color: #fec042; }
+ .sw-ButtonDownload.sw-ButtonDownload-kovan {
+ background-color: #8ce1d7;
+ box-shadow: 0 5px 10px 0 rgba(140, 225, 215, 0.3); }
+ .sw-ButtonDownload.sw-ButtonDownload-kovan:focus, .sw-ButtonDownload.sw-ButtonDownload-kovan:active, .sw-ButtonDownload.sw-ButtonDownload-kovan:hover {
+ background-color: #64d6c9; }
+ .sw-ButtonDownload.sw-ButtonDownload-kovan[disabled]:focus, .sw-ButtonDownload.sw-ButtonDownload-kovan[disabled].active, .sw-ButtonDownload.sw-ButtonDownload-kovan[disabled]:hover {
+ background-color: #8ce1d7; }
.ky-Keys_Block .sw-ButtonDownload {
margin-top: auto; }
@media (min-width: 992px) {
@@ -722,6 +729,13 @@ body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
background-color: #feaf0f; }
.sw-ButtonGenerate.sw-ButtonGenerate-dai[disabled]:focus, .sw-ButtonGenerate.sw-ButtonGenerate-dai[disabled].active, .sw-ButtonGenerate.sw-ButtonGenerate-dai[disabled]:hover {
background-color: #fec042; }
+ .sw-ButtonGenerate.sw-ButtonGenerate-kovan {
+ background-color: #8ce1d7;
+ box-shadow: 0 5px 10px 0 rgba(140, 225, 215, 0.3); }
+ .sw-ButtonGenerate.sw-ButtonGenerate-kovan:focus, .sw-ButtonGenerate.sw-ButtonGenerate-kovan:active, .sw-ButtonGenerate.sw-ButtonGenerate-kovan:hover {
+ background-color: #64d6c9; }
+ .sw-ButtonGenerate.sw-ButtonGenerate-kovan[disabled]:focus, .sw-ButtonGenerate.sw-ButtonGenerate-kovan[disabled].active, .sw-ButtonGenerate.sw-ButtonGenerate-kovan[disabled]:hover {
+ background-color: #8ce1d7; }
.hm-Home .sw-ButtonGenerate {
width: 100%; }
@media (min-width: 768px) {
@@ -760,6 +774,8 @@ body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
background-color: #8ce1d7; }
.sw-Footer.sw-Footer-dai {
background-color: #f2f6f8; }
+ .sw-Footer.sw-Footer-kovan {
+ background-color: #8ce1d7; }
.sw-Footer_Content {
max-width: 100%;
@@ -814,6 +830,8 @@ body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
background-color: #8ce1d7; }
.sw-Header.sw-Header-dai {
background-color: #f2f6f8; }
+ .sw-Header.sw-Header-kovan {
+ background-color: #8ce1d7; }
.sw-Header_Content {
max-width: 100%;
@@ -935,6 +953,8 @@ body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
border-color: #5a2da5; }
.ky-Keys_Block.ky-Keys_Block-sokol {
border-color: #8ce1d7; }
+ .ky-Keys_Block.ky-Keys_Block-kovan {
+ border-color: #8ce1d7; }
.ky-Keys_BlockTitle {
color: #333;
@@ -947,6 +967,8 @@ body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
color: #5a2da5; }
.ky-Keys_BlockTitle.ky-Keys_BlockTitle-sokol {
color: #8ce1d7; }
+ .ky-Keys_BlockTitle.ky-Keys_BlockTitle-kovan {
+ color: #8ce1d7; }
.ky-Keys_BlockTitle.ky-Keys_BlockTitle-dai {
color: #333; }
@@ -966,6 +988,8 @@ body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
color: #5a2da5; }
.ky-Keys_Hash.ky-Keys_Hash-sokol {
color: #8ce1d7; }
+ .ky-Keys_Hash.ky-Keys_Hash-kovan {
+ color: #8ce1d7; }
.ky-Keys_Hash.ky-Keys_Hash-dai {
color: #333; }
@@ -983,6 +1007,8 @@ body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
background-image: url("../../assets/images/Keys/sokol.svg"); }
.ky-Keys_Copy.ky-Keys_Copy-dai {
background-image: url("../../assets/images/Keys/dai.svg"); }
+ .ky-Keys_Copy.ky-Keys_Copy-kovan {
+ background-image: url("../../assets/images/Keys/kovan.svg"); }
.ky-Keys_HashContainer .ky-Keys_Copy {
margin-left: 3px;
margin-top: -4px; }
@@ -1033,6 +1059,8 @@ body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
color: #5a2da5; }
.ky-Keys_Warning.ky-Keys_Warning-sokol {
color: #8ce1d7; }
+ .ky-Keys_Warning.ky-Keys_Warning-kovan {
+ color: #8ce1d7; }
.ky-Keys_Warning.ky-Keys_Warning-dai {
color: #333; }
@@ -1047,6 +1075,9 @@ body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
.ky-Keys_WarningIconPath.ky-Keys_WarningIconPath-sokol {
fill: #8ce1d7; }
+.ky-Keys_WarningIconPath.ky-Keys_WarningIconPath-kovan {
+ fill: #8ce1d7; }
+
.ky-Keys_WarningIconPath.ky-Keys_WarningIconPath-dai {
fill: #fec042; }
@@ -1068,6 +1099,8 @@ body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
background-color: rgba(140, 225, 215, 0.5); }
.ld-Loading.ld-Loading-dai {
background-color: rgba(254, 192, 66, 0.5); }
+ .ld-Loading.ld-Loading-kovan {
+ background-color: rgba(140, 225, 215, 0.5); }
.ld-Loading_Animation {
display: flex;
@@ -1152,6 +1185,20 @@ body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
height: 100%;
width: 100%; }
+.sw-LogoKovan {
+ display: block;
+ text-decoration: none; }
+ .sw-Header .sw-LogoKovan {
+ height: 30px;
+ width: 178px; }
+ .sw-Footer .sw-LogoKovan {
+ height: 26px; }
+
+.sw-LogoKovan_Image {
+ display: block;
+ height: 100%;
+ width: 100%; }
+
.hm-MainImage {
align-items: center;
display: flex;
@@ -1202,6 +1249,14 @@ body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
@media (-webkit-min-device-pixel-ratio: 3), (-moz-min-device-pixel-ratio: 3), (min-resolution: 288dpi), (min-resolution: 3dppx) {
.hm-MainImage_Img.hm-MainImage_Img-dai {
background-image: url("../../assets/images/MainImage/dai/image@3x.png"); } }
+ .hm-MainImage_Img.hm-MainImage_Img-kovan {
+ background-image: url("../../assets/images/MainImage/kovan/image.png"); }
+ @media (-webkit-min-device-pixel-ratio: 2), (-moz-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
+ .hm-MainImage_Img.hm-MainImage_Img-kovan {
+ background-image: url("../../assets/images/MainImage/kovan/image@2x.png"); } }
+ @media (-webkit-min-device-pixel-ratio: 3), (-moz-min-device-pixel-ratio: 3), (min-resolution: 288dpi), (min-resolution: 3dppx) {
+ .hm-MainImage_Img.hm-MainImage_Img-kovan {
+ background-image: url("../../assets/images/MainImage/kovan/image@3x.png"); } }
.ft-SocialIcons {
align-items: center;
diff --git a/src/components/Loading/index.js b/src/components/Loading/index.js
index 0fdea70..175fcbb 100644
--- a/src/components/Loading/index.js
+++ b/src/components/Loading/index.js
@@ -2,12 +2,14 @@ import React from 'react'
import xDaiLogo from './xdai.svg'
import poaLogo from './core.svg'
import sokolLogo from './sokol.svg'
+import kovanLogo from './kovan.svg'
const getLogoSrc = networkBranch => {
return (
{
core: poaLogo,
sokol: sokolLogo,
+ kovan: kovanLogo,
dai: xDaiLogo
}[networkBranch] || poaLogo
)
diff --git a/src/components/Loading/kovan.svg b/src/components/Loading/kovan.svg
new file mode 100644
index 0000000..6c8d6ff
--- /dev/null
+++ b/src/components/Loading/kovan.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/components/Logo/index.js b/src/components/Logo/index.js
index ffcaaba..a9a49bc 100644
--- a/src/components/Logo/index.js
+++ b/src/components/Logo/index.js
@@ -1,14 +1,16 @@
import React from 'react'
import { LogoPOA } from '../LogoPOA'
import { LogoSokol } from '../LogoSokol'
+import { LogoKovan } from '../LogoKovan'
import { LogoDai } from '../LogoDai'
export const Logo = ({ href = null, extraClass = '', networkBranch = '' }) => {
switch (networkBranch) {
case 'sokol':
return
+ case 'kovan':
+ return
case 'dai':
- case 'dai-test':
return
case 'poa':
default:
diff --git a/src/components/LogoDai/index.js b/src/components/LogoDai/index.js
index 47f16fc..2c11a52 100644
--- a/src/components/LogoDai/index.js
+++ b/src/components/LogoDai/index.js
@@ -1,10 +1,10 @@
import React from 'react'
-import logoSokol from './logo.svg'
+import logoDai from './logo.svg'
export const LogoDai = ({ href = null, extraClass = '' }) => {
return (
-
+
)
}
diff --git a/src/components/LogoKovan/index.js b/src/components/LogoKovan/index.js
new file mode 100644
index 0000000..7c966d1
--- /dev/null
+++ b/src/components/LogoKovan/index.js
@@ -0,0 +1,10 @@
+import React from 'react'
+import logoKovan from './logo.svg'
+
+export const LogoKovan = ({ href = null, extraClass = '' }) => {
+ return (
+
+
+
+ )
+}
diff --git a/src/components/LogoKovan/logo.svg b/src/components/LogoKovan/logo.svg
new file mode 100644
index 0000000..fdf42ff
--- /dev/null
+++ b/src/components/LogoKovan/logo.svg
@@ -0,0 +1,32 @@
+
diff --git a/src/components/SocialIcons/index.js b/src/components/SocialIcons/index.js
index e52c094..1b71350 100644
--- a/src/components/SocialIcons/index.js
+++ b/src/components/SocialIcons/index.js
@@ -9,7 +9,8 @@ const getIconBackgroundColor = networkBranch => {
{
dai: '#e3e7e9',
poa: '#fff',
- sokol: '#fff'
+ sokol: '#fff',
+ kovan: '#fff'
}[networkBranch] || '#fff'
)
}
@@ -19,7 +20,8 @@ const getIconColor = networkBranch => {
{
dai: '#333',
poa: '#5c34a2',
- sokol: '#6ac9b9'
+ sokol: '#6ac9b9',
+ kovan: '#6ac9b9'
}[networkBranch] || '#5c34a2'
)
}
diff --git a/src/utils/constants.js b/src/utils/constants.js
index 0659eea..c1032ff 100644
--- a/src/utils/constants.js
+++ b/src/utils/constants.js
@@ -10,6 +10,11 @@ constants.userDeniedTransactionPattern = 'User denied transaction'
constants.baseURL = '/poa-dapps-keys-generation'
constants.NETWORKS = {
+ '42': {
+ NAME: 'Kovan',
+ BRANCH: 'kovan',
+ TESTNET: true
+ },
'77': {
NAME: 'Sokol',
BRANCH: 'sokol',
@@ -20,11 +25,6 @@ constants.NETWORKS = {
BRANCH: 'core',
TESTNET: false
},
- '79': {
- NAME: 'Dai-Test',
- BRANCH: 'dai-test',
- TESTNET: true
- },
'100': {
NAME: 'Dai',
BRANCH: 'dai',
diff --git a/src/utils/keysManager.js b/src/utils/keysManager.js
index 97bc515..3068a07 100644
--- a/src/utils/keysManager.js
+++ b/src/utils/keysManager.js
@@ -12,7 +12,7 @@ export default class KeysManager {
this.instance = new web3.eth.Contract(KeysManagerAbi, KEYS_MANAGER_ADDRESS)
const networkName = constants.NETWORKS[netId].NAME.toLowerCase()
- if (networkName === 'dai-test' || networkName === 'dai') {
+ if (networkName === 'dai') {
this.gasPrice = web3.utils.toWei('0', 'gwei')
} else {
this.gasPrice = web3.utils.toWei('2', 'gwei')