From 9c9700cf95abb9c0e20d1e21c89fb84c337c2916 Mon Sep 17 00:00:00 2001 From: David Date: Sun, 5 Aug 2018 05:19:40 +0430 Subject: [PATCH] First commit --- .gitignore | 9 + app.js | 18 + appdev.js | 17 + bin/www | 94 + bin/wwwdev | 86 + client/.gitignore | 21 + client/package.json | 21 + client/public/index.html | 93 + client/src/App.js | 361 + client/src/App.test.js | 168 + client/src/Routes.js | 25 + client/src/index.css | 97 + client/src/index.js | 14 + client/src/pages/HomePage.css | 7 + client/src/pages/HomePage.js | 612 + client/src/pages/MarketingPage.js | 395 + client/src/registerServiceWorker.js | 117 + client/src/static/css/csslider.css | 229 + client/src/static/css/mdb.css | 14267 ++++++++++++ client/src/static/css/mdb.min.css | 26 + client/src/static/css/palmpay.css | 352 + client/src/static/css/palmpay.min.css | 5 + client/src/static/css/tooltip.css | 101 + client/src/static/font/fa/FontAwesome.otf | Bin 0 -> 134808 bytes .../static/font/fa/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../static/font/fa/fontawesome-webfont.svg | 2671 +++ .../static/font/fa/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../static/font/fa/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../static/font/fa/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes .../static/font/pfb/PFBeauSansPro-Black.ttf | Bin 0 -> 434200 bytes .../font/pfb/PFBeauSansPro-BlackItal.ttf | Bin 0 -> 426176 bytes .../static/font/pfb/PFBeauSansPro-Bold.ttf | Bin 0 -> 445872 bytes .../font/pfb/PFBeauSansPro-BoldItalic.ttf | Bin 0 -> 437300 bytes .../static/font/pfb/PFBeauSansPro-Book.ttf | Bin 0 -> 491840 bytes .../font/pfb/PFBeauSansPro-BookItalic.ttf | Bin 0 -> 475388 bytes .../static/font/pfb/PFBeauSansPro-Italic.ttf | Bin 0 -> 490676 bytes .../static/font/pfb/PFBeauSansPro-Light.ttf | Bin 0 -> 510380 bytes .../font/pfb/PFBeauSansPro-LightItal.ttf | Bin 0 -> 498820 bytes .../src/static/font/pfb/PFBeauSansPro-Reg.ttf | Bin 0 -> 488532 bytes .../static/font/pfb/PFBeauSansPro-SeBold.ttf | Bin 0 -> 456084 bytes .../font/pfb/PFBeauSansPro-SeBoldItal.ttf | Bin 0 -> 447116 bytes .../static/font/pfb/PFBeauSansPro-Thin.ttf | Bin 0 -> 568228 bytes .../font/pfb/PFBeauSansPro-ThinItal.ttf | Bin 0 -> 561712 bytes .../static/font/pfb/PFBeauSansPro-XThin.ttf | Bin 0 -> 657296 bytes .../font/pfb/PFBeauSansPro-XThinItal.ttf | Bin 0 -> 650016 bytes client/src/static/font/roboto/Roboto-Bold.eot | Bin 0 -> 20966 bytes client/src/static/font/roboto/Roboto-Bold.ttf | Bin 0 -> 127744 bytes .../src/static/font/roboto/Roboto-Bold.woff | Bin 0 -> 62876 bytes .../src/static/font/roboto/Roboto-Bold.woff2 | Bin 0 -> 49976 bytes .../src/static/font/roboto/Roboto-Light.eot | Bin 0 -> 20940 bytes .../src/static/font/roboto/Roboto-Light.ttf | Bin 0 -> 126792 bytes .../src/static/font/roboto/Roboto-Light.woff | Bin 0 -> 62316 bytes .../src/static/font/roboto/Roboto-Light.woff2 | Bin 0 -> 49380 bytes .../src/static/font/roboto/Roboto-Medium.eot | Bin 0 -> 21364 bytes .../src/static/font/roboto/Roboto-Medium.ttf | Bin 0 -> 127488 bytes .../src/static/font/roboto/Roboto-Medium.woff | Bin 0 -> 62980 bytes .../static/font/roboto/Roboto-Medium.woff2 | Bin 0 -> 50224 bytes .../src/static/font/roboto/Roboto-Regular.eot | Bin 0 -> 21320 bytes .../src/static/font/roboto/Roboto-Regular.ttf | Bin 0 -> 126072 bytes .../static/font/roboto/Roboto-Regular.woff | Bin 0 -> 61736 bytes .../static/font/roboto/Roboto-Regular.woff2 | Bin 0 -> 49236 bytes client/src/static/font/roboto/Roboto-Thin.eot | Bin 0 -> 21659 bytes client/src/static/font/roboto/Roboto-Thin.ttf | Bin 0 -> 127584 bytes .../src/static/font/roboto/Roboto-Thin.woff | Bin 0 -> 61628 bytes .../src/static/font/roboto/Roboto-Thin.woff2 | Bin 0 -> 48524 bytes client/src/static/img/dtube.png | Bin 0 -> 297 bytes client/src/static/img/header-bg.jpg | Bin 0 -> 101665 bytes client/src/static/img/steemit.png | Bin 0 -> 362 bytes client/yarn.lock | 7173 ++++++ faviconData.json | 1 + faviconDescription.json | 67 + howtogeneratefavicon.txt | 10 + package.json | 19 + public/PalmPayIO.png | Bin 0 -> 553463 bytes public/android-chrome-144x144.png | Bin 0 -> 2922 bytes public/android-chrome-192x192.png | Bin 0 -> 3866 bytes public/android-chrome-256x256.png | Bin 0 -> 5766 bytes public/android-chrome-36x36.png | Bin 0 -> 590 bytes public/android-chrome-384x384.png | Bin 0 -> 9104 bytes public/android-chrome-48x48.png | Bin 0 -> 778 bytes public/android-chrome-512x512.png | Bin 0 -> 12264 bytes public/android-chrome-72x72.png | Bin 0 -> 1186 bytes public/android-chrome-96x96.png | Bin 0 -> 1709 bytes public/apple-touch-icon-114x114.png | Bin 0 -> 1652 bytes public/apple-touch-icon-120x120.png | Bin 0 -> 1675 bytes public/apple-touch-icon-144x144.png | Bin 0 -> 1968 bytes public/apple-touch-icon-152x152.png | Bin 0 -> 2101 bytes public/apple-touch-icon-180x180.png | Bin 0 -> 2423 bytes public/apple-touch-icon-57x57.png | Bin 0 -> 873 bytes public/apple-touch-icon-60x60.png | Bin 0 -> 913 bytes public/apple-touch-icon-72x72.png | Bin 0 -> 1086 bytes public/apple-touch-icon-76x76.png | Bin 0 -> 1142 bytes public/apple-touch-icon.png | Bin 0 -> 2423 bytes public/browserconfig.xml | 12 + public/css/csslider.css | 229 + public/css/mdb.css | 14267 ++++++++++++ public/css/mdb.min.css | 26 + public/css/palmpay.css | 331 + public/css/palmpay.min.css | 5 + public/css/tooltip.css | 101 + public/favicon-16x16.png | Bin 0 -> 387 bytes public/favicon-194x194.png | Bin 0 -> 2606 bytes public/favicon-32x32.png | Bin 0 -> 585 bytes public/favicon.ico | Bin 0 -> 15086 bytes public/font/fa/FontAwesome.otf | Bin 0 -> 134808 bytes public/font/fa/fontawesome-webfont.eot | Bin 0 -> 165742 bytes public/font/fa/fontawesome-webfont.svg | 2671 +++ public/font/fa/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes public/font/fa/fontawesome-webfont.woff | Bin 0 -> 98024 bytes public/font/fa/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes public/font/pfb/PFBeauSansPro-Black.ttf | Bin 0 -> 434200 bytes public/font/pfb/PFBeauSansPro-BlackItal.ttf | Bin 0 -> 426176 bytes public/font/pfb/PFBeauSansPro-Bold.ttf | Bin 0 -> 445872 bytes public/font/pfb/PFBeauSansPro-BoldItalic.ttf | Bin 0 -> 437300 bytes public/font/pfb/PFBeauSansPro-Book.ttf | Bin 0 -> 491840 bytes public/font/pfb/PFBeauSansPro-BookItalic.ttf | Bin 0 -> 475388 bytes public/font/pfb/PFBeauSansPro-Italic.ttf | Bin 0 -> 490676 bytes public/font/pfb/PFBeauSansPro-Light.ttf | Bin 0 -> 510380 bytes public/font/pfb/PFBeauSansPro-LightItal.ttf | Bin 0 -> 498820 bytes public/font/pfb/PFBeauSansPro-Reg.ttf | Bin 0 -> 488532 bytes public/font/pfb/PFBeauSansPro-SeBold.ttf | Bin 0 -> 456084 bytes public/font/pfb/PFBeauSansPro-SeBoldItal.ttf | Bin 0 -> 447116 bytes public/font/pfb/PFBeauSansPro-Thin.ttf | Bin 0 -> 568228 bytes public/font/pfb/PFBeauSansPro-ThinItal.ttf | Bin 0 -> 561712 bytes public/font/pfb/PFBeauSansPro-XThin.ttf | Bin 0 -> 657296 bytes public/font/pfb/PFBeauSansPro-XThinItal.ttf | Bin 0 -> 650016 bytes public/font/roboto/Roboto-Bold.eot | Bin 0 -> 20966 bytes public/font/roboto/Roboto-Bold.ttf | Bin 0 -> 127744 bytes public/font/roboto/Roboto-Bold.woff | Bin 0 -> 62876 bytes public/font/roboto/Roboto-Bold.woff2 | Bin 0 -> 49976 bytes public/font/roboto/Roboto-Light.eot | Bin 0 -> 20940 bytes public/font/roboto/Roboto-Light.ttf | Bin 0 -> 126792 bytes public/font/roboto/Roboto-Light.woff | Bin 0 -> 62316 bytes public/font/roboto/Roboto-Light.woff2 | Bin 0 -> 49380 bytes public/font/roboto/Roboto-Medium.eot | Bin 0 -> 21364 bytes public/font/roboto/Roboto-Medium.ttf | Bin 0 -> 127488 bytes public/font/roboto/Roboto-Medium.woff | Bin 0 -> 62980 bytes public/font/roboto/Roboto-Medium.woff2 | Bin 0 -> 50224 bytes public/font/roboto/Roboto-Regular.eot | Bin 0 -> 21320 bytes public/font/roboto/Roboto-Regular.ttf | Bin 0 -> 126072 bytes public/font/roboto/Roboto-Regular.woff | Bin 0 -> 61736 bytes public/font/roboto/Roboto-Regular.woff2 | Bin 0 -> 49236 bytes public/font/roboto/Roboto-Thin.eot | Bin 0 -> 21659 bytes public/font/roboto/Roboto-Thin.ttf | Bin 0 -> 127584 bytes public/font/roboto/Roboto-Thin.woff | Bin 0 -> 61628 bytes public/font/roboto/Roboto-Thin.woff2 | Bin 0 -> 48524 bytes public/img/01.jpg | Bin 0 -> 167898 bytes public/img/02.jpg | Bin 0 -> 40564 bytes public/img/03.jpg | Bin 0 -> 144383 bytes public/img/1.png | Bin 0 -> 15371 bytes public/img/12old.jpg | Bin 0 -> 16099 bytes public/img/1old.jpg | Bin 0 -> 15784 bytes public/img/2.png | Bin 0 -> 11697 bytes public/img/2old.jpg | Bin 0 -> 19389 bytes public/img/3.png | Bin 0 -> 12563 bytes public/img/3old.jpg | Bin 0 -> 20900 bytes public/img/4.png | Bin 0 -> 13369 bytes public/img/4old.jpg | Bin 0 -> 20067 bytes public/img/4old.png | Bin 0 -> 13893 bytes public/img/6.png | Bin 0 -> 16041 bytes public/img/7.png | Bin 0 -> 12903 bytes public/img/8.png | Bin 0 -> 10381 bytes public/img/9.png | Bin 0 -> 11967 bytes public/img/PalmPay900.png | Bin 0 -> 6087 bytes public/img/PalmPay900white.png | Bin 0 -> 24441 bytes public/img/_palm_pay900white.png | Bin 0 -> 24441 bytes public/img/ab1.png | Bin 0 -> 194069 bytes public/img/ab2.png | Bin 0 -> 248380 bytes public/img/ab3.png | Bin 0 -> 200672 bytes public/img/ab4.png | Bin 0 -> 255514 bytes public/img/ab5.png | Bin 0 -> 219888 bytes public/img/footerlogo.png | Bin 0 -> 1627 bytes public/img/lightbox/default-skin.png | Bin 0 -> 547 bytes public/img/lightbox/default-skin.svg | 1 + public/img/lightbox/preloader.gif | Bin 0 -> 866 bytes public/img/logo.png | Bin 0 -> 2883 bytes public/img/logo54.png | Bin 0 -> 1121 bytes public/img/overlays/01.png | Bin 0 -> 211 bytes public/img/overlays/02.png | Bin 0 -> 213 bytes public/img/overlays/03.png | Bin 0 -> 209 bytes public/img/overlays/04.png | Bin 0 -> 211 bytes public/img/overlays/05.png | Bin 0 -> 213 bytes public/img/overlays/06.png | Bin 0 -> 211 bytes public/img/overlays/07.png | Bin 0 -> 215 bytes public/img/overlays/08.png | Bin 0 -> 146 bytes public/img/overlays/09.png | Bin 0 -> 137 bytes public/img/svg/arrow_left.svg | 4 + public/img/svg/arrow_right.svg | 4 + public/js/languages/el.json | 200 + public/js/languages/en.json | 200 + public/js/react-dom.js | 18853 ++++++++++++++++ public/js/react-dom.min.js | 14 + public/js/react-dom.production.min.js | 193 + public/js/react-language-selector.js | 492 + public/js/react-language-selector.min.js | 1 + public/js/react-simplehtmlparser.js | 86 + public/js/react-simplehtmlparser.min.js | 6 + public/js/react-with-addons.js | 5877 +++++ public/js/react-with-addons.min.js | 11 + public/mstile-144x144.png | Bin 0 -> 2366 bytes public/mstile-150x150.png | Bin 0 -> 1742 bytes public/mstile-310x150.png | Bin 0 -> 1847 bytes public/mstile-310x310.png | Bin 0 -> 3789 bytes public/mstile-70x70.png | Bin 0 -> 1600 bytes public/safari-pinned-tab.svg | 1 + public/site.webmanifest | 55 + 206 files changed, 70716 insertions(+) create mode 100644 .gitignore create mode 100644 app.js create mode 100644 appdev.js create mode 100644 bin/www create mode 100644 bin/wwwdev create mode 100644 client/.gitignore create mode 100644 client/package.json create mode 100644 client/public/index.html create mode 100644 client/src/App.js create mode 100644 client/src/App.test.js create mode 100644 client/src/Routes.js create mode 100644 client/src/index.css create mode 100644 client/src/index.js create mode 100644 client/src/pages/HomePage.css create mode 100644 client/src/pages/HomePage.js create mode 100644 client/src/pages/MarketingPage.js create mode 100644 client/src/registerServiceWorker.js create mode 100644 client/src/static/css/csslider.css create mode 100644 client/src/static/css/mdb.css create mode 100644 client/src/static/css/mdb.min.css create mode 100644 client/src/static/css/palmpay.css create mode 100644 client/src/static/css/palmpay.min.css create mode 100644 client/src/static/css/tooltip.css create mode 100644 client/src/static/font/fa/FontAwesome.otf create mode 100644 client/src/static/font/fa/fontawesome-webfont.eot create mode 100644 client/src/static/font/fa/fontawesome-webfont.svg create mode 100644 client/src/static/font/fa/fontawesome-webfont.ttf create mode 100644 client/src/static/font/fa/fontawesome-webfont.woff create mode 100644 client/src/static/font/fa/fontawesome-webfont.woff2 create mode 100644 client/src/static/font/pfb/PFBeauSansPro-Black.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-BlackItal.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-Bold.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-BoldItalic.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-Book.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-BookItalic.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-Italic.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-Light.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-LightItal.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-Reg.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-SeBold.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-SeBoldItal.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-Thin.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-ThinItal.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-XThin.ttf create mode 100644 client/src/static/font/pfb/PFBeauSansPro-XThinItal.ttf create mode 100644 client/src/static/font/roboto/Roboto-Bold.eot create mode 100644 client/src/static/font/roboto/Roboto-Bold.ttf create mode 100644 client/src/static/font/roboto/Roboto-Bold.woff create mode 100644 client/src/static/font/roboto/Roboto-Bold.woff2 create mode 100644 client/src/static/font/roboto/Roboto-Light.eot create mode 100644 client/src/static/font/roboto/Roboto-Light.ttf create mode 100644 client/src/static/font/roboto/Roboto-Light.woff create mode 100644 client/src/static/font/roboto/Roboto-Light.woff2 create mode 100644 client/src/static/font/roboto/Roboto-Medium.eot create mode 100644 client/src/static/font/roboto/Roboto-Medium.ttf create mode 100644 client/src/static/font/roboto/Roboto-Medium.woff create mode 100644 client/src/static/font/roboto/Roboto-Medium.woff2 create mode 100644 client/src/static/font/roboto/Roboto-Regular.eot create mode 100644 client/src/static/font/roboto/Roboto-Regular.ttf create mode 100644 client/src/static/font/roboto/Roboto-Regular.woff create mode 100644 client/src/static/font/roboto/Roboto-Regular.woff2 create mode 100644 client/src/static/font/roboto/Roboto-Thin.eot create mode 100644 client/src/static/font/roboto/Roboto-Thin.ttf create mode 100644 client/src/static/font/roboto/Roboto-Thin.woff create mode 100644 client/src/static/font/roboto/Roboto-Thin.woff2 create mode 100644 client/src/static/img/dtube.png create mode 100644 client/src/static/img/header-bg.jpg create mode 100644 client/src/static/img/steemit.png create mode 100644 client/yarn.lock create mode 100644 faviconData.json create mode 100644 faviconDescription.json create mode 100644 howtogeneratefavicon.txt create mode 100644 package.json create mode 100644 public/PalmPayIO.png create mode 100644 public/android-chrome-144x144.png create mode 100644 public/android-chrome-192x192.png create mode 100644 public/android-chrome-256x256.png create mode 100644 public/android-chrome-36x36.png create mode 100644 public/android-chrome-384x384.png create mode 100644 public/android-chrome-48x48.png create mode 100644 public/android-chrome-512x512.png create mode 100644 public/android-chrome-72x72.png create mode 100644 public/android-chrome-96x96.png create mode 100644 public/apple-touch-icon-114x114.png create mode 100644 public/apple-touch-icon-120x120.png create mode 100644 public/apple-touch-icon-144x144.png create mode 100644 public/apple-touch-icon-152x152.png create mode 100644 public/apple-touch-icon-180x180.png create mode 100644 public/apple-touch-icon-57x57.png create mode 100644 public/apple-touch-icon-60x60.png create mode 100644 public/apple-touch-icon-72x72.png create mode 100644 public/apple-touch-icon-76x76.png create mode 100644 public/apple-touch-icon.png create mode 100644 public/browserconfig.xml create mode 100644 public/css/csslider.css create mode 100644 public/css/mdb.css create mode 100644 public/css/mdb.min.css create mode 100644 public/css/palmpay.css create mode 100644 public/css/palmpay.min.css create mode 100644 public/css/tooltip.css create mode 100644 public/favicon-16x16.png create mode 100644 public/favicon-194x194.png create mode 100644 public/favicon-32x32.png create mode 100644 public/favicon.ico create mode 100644 public/font/fa/FontAwesome.otf create mode 100644 public/font/fa/fontawesome-webfont.eot create mode 100644 public/font/fa/fontawesome-webfont.svg create mode 100644 public/font/fa/fontawesome-webfont.ttf create mode 100644 public/font/fa/fontawesome-webfont.woff create mode 100644 public/font/fa/fontawesome-webfont.woff2 create mode 100644 public/font/pfb/PFBeauSansPro-Black.ttf create mode 100644 public/font/pfb/PFBeauSansPro-BlackItal.ttf create mode 100644 public/font/pfb/PFBeauSansPro-Bold.ttf create mode 100644 public/font/pfb/PFBeauSansPro-BoldItalic.ttf create mode 100644 public/font/pfb/PFBeauSansPro-Book.ttf create mode 100644 public/font/pfb/PFBeauSansPro-BookItalic.ttf create mode 100644 public/font/pfb/PFBeauSansPro-Italic.ttf create mode 100644 public/font/pfb/PFBeauSansPro-Light.ttf create mode 100644 public/font/pfb/PFBeauSansPro-LightItal.ttf create mode 100644 public/font/pfb/PFBeauSansPro-Reg.ttf create mode 100644 public/font/pfb/PFBeauSansPro-SeBold.ttf create mode 100644 public/font/pfb/PFBeauSansPro-SeBoldItal.ttf create mode 100644 public/font/pfb/PFBeauSansPro-Thin.ttf create mode 100644 public/font/pfb/PFBeauSansPro-ThinItal.ttf create mode 100644 public/font/pfb/PFBeauSansPro-XThin.ttf create mode 100644 public/font/pfb/PFBeauSansPro-XThinItal.ttf create mode 100644 public/font/roboto/Roboto-Bold.eot create mode 100644 public/font/roboto/Roboto-Bold.ttf create mode 100644 public/font/roboto/Roboto-Bold.woff create mode 100644 public/font/roboto/Roboto-Bold.woff2 create mode 100644 public/font/roboto/Roboto-Light.eot create mode 100644 public/font/roboto/Roboto-Light.ttf create mode 100644 public/font/roboto/Roboto-Light.woff create mode 100644 public/font/roboto/Roboto-Light.woff2 create mode 100644 public/font/roboto/Roboto-Medium.eot create mode 100644 public/font/roboto/Roboto-Medium.ttf create mode 100644 public/font/roboto/Roboto-Medium.woff create mode 100644 public/font/roboto/Roboto-Medium.woff2 create mode 100644 public/font/roboto/Roboto-Regular.eot create mode 100644 public/font/roboto/Roboto-Regular.ttf create mode 100644 public/font/roboto/Roboto-Regular.woff create mode 100644 public/font/roboto/Roboto-Regular.woff2 create mode 100644 public/font/roboto/Roboto-Thin.eot create mode 100644 public/font/roboto/Roboto-Thin.ttf create mode 100644 public/font/roboto/Roboto-Thin.woff create mode 100644 public/font/roboto/Roboto-Thin.woff2 create mode 100644 public/img/01.jpg create mode 100644 public/img/02.jpg create mode 100644 public/img/03.jpg create mode 100644 public/img/1.png create mode 100644 public/img/12old.jpg create mode 100644 public/img/1old.jpg create mode 100644 public/img/2.png create mode 100644 public/img/2old.jpg create mode 100644 public/img/3.png create mode 100644 public/img/3old.jpg create mode 100644 public/img/4.png create mode 100644 public/img/4old.jpg create mode 100644 public/img/4old.png create mode 100644 public/img/6.png create mode 100644 public/img/7.png create mode 100644 public/img/8.png create mode 100644 public/img/9.png create mode 100644 public/img/PalmPay900.png create mode 100644 public/img/PalmPay900white.png create mode 100644 public/img/_palm_pay900white.png create mode 100644 public/img/ab1.png create mode 100644 public/img/ab2.png create mode 100644 public/img/ab3.png create mode 100644 public/img/ab4.png create mode 100644 public/img/ab5.png create mode 100644 public/img/footerlogo.png create mode 100644 public/img/lightbox/default-skin.png create mode 100644 public/img/lightbox/default-skin.svg create mode 100644 public/img/lightbox/preloader.gif create mode 100644 public/img/logo.png create mode 100644 public/img/logo54.png create mode 100644 public/img/overlays/01.png create mode 100644 public/img/overlays/02.png create mode 100644 public/img/overlays/03.png create mode 100644 public/img/overlays/04.png create mode 100644 public/img/overlays/05.png create mode 100644 public/img/overlays/06.png create mode 100644 public/img/overlays/07.png create mode 100644 public/img/overlays/08.png create mode 100644 public/img/overlays/09.png create mode 100644 public/img/svg/arrow_left.svg create mode 100644 public/img/svg/arrow_right.svg create mode 100644 public/js/languages/el.json create mode 100644 public/js/languages/en.json create mode 100644 public/js/react-dom.js create mode 100644 public/js/react-dom.min.js create mode 100644 public/js/react-dom.production.min.js create mode 100644 public/js/react-language-selector.js create mode 100644 public/js/react-language-selector.min.js create mode 100644 public/js/react-simplehtmlparser.js create mode 100644 public/js/react-simplehtmlparser.min.js create mode 100644 public/js/react-with-addons.js create mode 100644 public/js/react-with-addons.min.js create mode 100644 public/mstile-144x144.png create mode 100644 public/mstile-150x150.png create mode 100644 public/mstile-310x150.png create mode 100644 public/mstile-310x310.png create mode 100644 public/mstile-70x70.png create mode 100644 public/safari-pinned-tab.svg create mode 100644 public/site.webmanifest diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dfc4856 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +*.key +*.crt +*.pem +client/src/static/disabled/ +node_modules/ +outputDir/ +client/package-lock.json +package-lock.json +public/img/.tinypng-sigs diff --git a/app.js b/app.js new file mode 100644 index 0000000..94f8d1d --- /dev/null +++ b/app.js @@ -0,0 +1,18 @@ +var compression = require("compression"); +var createError = require("http-errors"); +var express = require("express"); +var path = require("path"); + +var app = express(); + +app.use(compression()); +app.use(express.json()); +app.use(express.urlencoded({ extended: false })); +app.use(express.static(path.join(__dirname, "public"))); +app.use("/marketing",express.static(path.join(__dirname, 'public'))); +app.use("/", express.static(path.join(__dirname, "./client/build"))); +app.get("*", function(request, response) { + response.sendFile(path.resolve(__dirname, "./client/build", "index.html")); +}); + +module.exports = app; diff --git a/appdev.js b/appdev.js new file mode 100644 index 0000000..01d9519 --- /dev/null +++ b/appdev.js @@ -0,0 +1,17 @@ + +var createError = require('http-errors'); +var express = require('express'); +var path = require('path'); +var cookieParser = require('cookie-parser'); +var logger = require('morgan'); +var router = express.Router(); + +var app = express(); + +app.use(logger('dev')); +app.use(express.json()); +app.use(express.urlencoded({ extended: false })); + +app.use(express.static(path.join(__dirname, 'public'))); +app.use("/marketing",express.static(path.join(__dirname, 'public'))); +module.exports = app; diff --git a/bin/www b/bin/www new file mode 100644 index 0000000..555a2cc --- /dev/null +++ b/bin/www @@ -0,0 +1,94 @@ +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var app = require("../app"); +var debug = require("debug")("palmpay:server"); +var http = require("http"); +var fs = require("fs"); +var https = require("https"); + +var ssl_options = { + key: fs.readFileSync("./domain.key"), + cert: fs.readFileSync("./domain.crt"), + ca: fs.readFileSync("./intermediate.pem") +}; + +/** + * Get port from environment and store in Express. + */ + +var port = normalizePort(process.env.PORT || "80"); +app.set("port", port); + +/** + * Create HTTP/HTTPS server. + */ +var secureServer = https.createServer(ssl_options, app); +var server = http.createServer(app); + +/** + * Listen on provided port, on all network interfaces. + */ +secureServer.listen(443); +server.listen(port); +server.on("error", onError); +server.on("listening", onListening); + +/** + * Normalize a port into a number, string, or false. + */ + +function normalizePort(val) { + var port = parseInt(val, 10); + + if (isNaN(port)) { + // named pipe + return val; + } + + if (port >= 0) { + // port number + return port; + } + + return false; +} + +/** + * Event listener for HTTP server "error" event. + */ + +function onError(error) { + if (error.syscall !== "listen") { + throw error; + } + + var bind = typeof port === "string" ? "Pipe " + port : "Port " + port; + + // handle specific listen errors with friendly messages + switch (error.code) { + case "EACCES": + console.error(bind + " requires elevated privileges"); + process.exit(1); + break; + case "EADDRINUSE": + console.error(bind + " is already in use"); + process.exit(1); + break; + default: + throw error; + } +} + +/** + * Event listener for HTTP server "listening" event. + */ + +function onListening() { + var addr = server.address(); + var bind = typeof addr === "string" ? "pipe " + addr : "port " + addr.port; + debug("Listening on " + bind); +} diff --git a/bin/wwwdev b/bin/wwwdev new file mode 100644 index 0000000..a4a4c20 --- /dev/null +++ b/bin/wwwdev @@ -0,0 +1,86 @@ +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var app = require("../appdev"); +var debug = require("debug")("palmpay:server"); +var http = require("http"); + +/** + * Get port from environment and store in Express. + */ + +var port = normalizePort(process.env.PORT || "3000"); +app.set("port", port); + +/** + * Create HTTP server. + */ + +var server = http.createServer(app); + +/** + * Listen on provided port, on all network interfaces. + */ + +server.listen(port); +server.on("error", onError); +server.on("listening", onListening); + +/** + * Normalize a port into a number, string, or false. + */ + +function normalizePort(val) { + var port = parseInt(val, 10); + + if (isNaN(port)) { + // named pipe + return val; + } + + if (port >= 0) { + // port number + return port; + } + + return false; +} + +/** + * Event listener for HTTP server "error" event. + */ + +function onError(error) { + if (error.syscall !== "listen") { + throw error; + } + + var bind = typeof port === "string" ? "Pipe " + port : "Port " + port; + + // handle specific listen errors with friendly messages + switch (error.code) { + case "EACCES": + console.error(bind + " requires elevated privileges"); + process.exit(1); + break; + case "EADDRINUSE": + console.error(bind + " is already in use"); + process.exit(1); + break; + default: + throw error; + } +} + +/** + * Event listener for HTTP server "listening" event. + */ + +function onListening() { + var addr = server.address(); + var bind = typeof addr === "string" ? "pipe " + addr : "port " + addr.port; + debug("Listening on " + bind); +} diff --git a/client/.gitignore b/client/.gitignore new file mode 100644 index 0000000..d30f40e --- /dev/null +++ b/client/.gitignore @@ -0,0 +1,21 @@ +# See https://help.github.com/ignore-files/ for more about ignoring files. + +# dependencies +/node_modules + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/client/package.json b/client/package.json new file mode 100644 index 0000000..c587aca --- /dev/null +++ b/client/package.json @@ -0,0 +1,21 @@ +{ + "name": "client", + "version": "0.1.0", + "private": true, + "dependencies": { + "express": "^4.16.3", + "mdbreact": "^4.5.0", + "react": "^16.4.1", + "react-dom": "^16.4.1", + "react-ripples": "^1.1.2", + "react-scripts": "1.1.4", + "react-scroll": "^1.7.9" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test --env=jsdom --watchAll", + "eject": "react-scripts eject" + }, + "proxy": "http://localhost:3001" +} diff --git a/client/public/index.html b/client/public/index.html new file mode 100644 index 0000000..2a2f094 --- /dev/null +++ b/client/public/index.html @@ -0,0 +1,93 @@ + + + + + + PalmPay + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/client/src/App.js b/client/src/App.js new file mode 100644 index 0000000..e3da715 --- /dev/null +++ b/client/src/App.js @@ -0,0 +1,361 @@ +import React from "react"; +import { + Navbar, + NavbarNav, + NavbarToggler, + Collapse, + NavItem, + Footer, + NavLink, + Row, + Col, + Container, + Modal, + ModalBody, + ModalHeader +} from "mdbreact"; +import { BrowserRouter as Router } from "react-router-dom"; +import { Link, Events, animateScroll as scroll, scrollSpy } from "react-scroll"; + +import "./index.css"; +import "./static/css/palmpay.css"; + +//import './static/css/palmpay.css'; + +import Routes from "./Routes"; + +class App extends React.Component { + constructor(props) { + super(props); + this.state = { showmenu: true }; + this.state = { + collapse: false, + modal2: false + }; + this.toggle2 = this.toggle2.bind(this); + this.onClick = this.onClick.bind(this); + this.handleNavbarClick = this.handleNavbarClick.bind(this); + } + + toggle2() { + this.setState({ + modal2: !this.state.modal2 + }); + } + + onClick() { + this.setState({ + collapse: !this.state.collapse + }); + } + + handleNavbarClick() { + this.setState({ + collapse: false + }); + } + componentDidMount() { + Events.scrollEvent.register("begin", function(to, element) { + console.log("begin", arguments); + }); + + Events.scrollEvent.register("end", function(to, element) { + console.log("end", arguments); + }); + + scrollSpy.update(); + } + componentWillUnmount() { + Events.scrollEvent.remove("begin"); + Events.scrollEvent.remove("end"); + } + scrollToTop() { + scroll.scrollToTop(); + } + scrollToBottom() { + scroll.scrollToBottom(); + } + scrollTo() { + scroll.scrollTo(100); + } + scrollMore() { + scroll.scrollMore(100); + } + handleSetActive(to) { + console.log(to); + } + + render() { + const currentPath = window.location.pathname; + const collapsed = this.state.collapsed; + const overlay = ( +
+ ); + return ( + + + {!currentPath.includes("marketing") ? ( + + + + ) : ( + + + + )} + {collapsed && overlay} + + + +
+
+ + + + + + + + + +

+ FASTER AND SAFER THAN CASH +

+ +
+ +
+
+
+
+

+ + This website is not intended as legal or financial + advice, is not a guarantee of anything and we do not + collect any info about you whatsoever. PalmPay is a + Point Of Sale product by Agorise, Ltd. For technical + details, chat anytime 24/7 with the Agorise community + on Telegram at: + + {" "} + http://t.me/Agorise + + +

+
+
+
+
+
+ + © Copyright {new Date().getFullYear()}{" "} + + {" "} + Agorise Ltd.{" "} + + +
+
+ +
+
+ + Site by:{" "} + + poqdavid + + +
+
+
+
+
+
+ + + + Downloads + + + + + + + +
+
+ ); + } +} + +export default App; diff --git a/client/src/App.test.js b/client/src/App.test.js new file mode 100644 index 0000000..24bbff8 --- /dev/null +++ b/client/src/App.test.js @@ -0,0 +1,168 @@ +import React from 'react'; +import { Button, Navbar, NavbarBrand, NavbarNav, NavbarToggler, Collapse, NavItem, Footer, NavLink, Mask, Row, Col, Fa, View, Container, Modal, ModalBody, ModalHeader, ModalFooter} from 'mdbreact'; +import { BrowserRouter as Router } from 'react-router-dom'; +import './index.css'; +import './static/css/palmpay.css'; + +//import './css/csslider.css'; + +import Routes from './Routes'; + +class App extends React.Component { + + + constructor(props) { + super(props), + this.state = { + collapse : false, + modal2: false + } + this.toggle2 = this.toggle2.bind(this); + this.onClick = this.onClick.bind(this); + this.handleNavbarClick = this.handleNavbarClick.bind(this); + } + + toggle2() { + this.setState({ + modal2: !this.state.modal2 + }); +} + + onClick(){ + this.setState({ + collapse: !this.state.collapse, + }); + } + + handleNavbarClick(){ + this.setState({ + collapse: false + }); + } + render(){ + const collapsed = this.state.collapsed; + const overlay =
+ return ( + +
+ + + + + + + + + + + + Services + + + About + + + Testimonies + + + Downloads + + + + +
    +
    +
    +
    + { collapsed && overlay} + + + + + + +
    +
    +
    +
    +

    + + This website is not intended as legal or financial advice, is not a guarantee of anything and we do not collect any info about you whatsoever. PalmPay is a Point Of Sale product by Agorise, Ltd. For technical details, chat anytime 24/7 with the Agorise community on Telegram at: + http://t.me/Agorise + +

    +
    + + +
    +
    + +
    +
    + + © Copyright {(new Date().getFullYear())} Agorise Ltd. + +
    + +
    + +
    +
    + + + Downloads + + + + +
    +
    + ); + } +} + +export default App; diff --git a/client/src/Routes.js b/client/src/Routes.js new file mode 100644 index 0000000..9263818 --- /dev/null +++ b/client/src/Routes.js @@ -0,0 +1,25 @@ +import React from "react"; +import { Route, Switch } from "react-router-dom"; + +// FREE +import HomePage from "./pages/HomePage"; +import MarketingPage from "./pages/MarketingPage"; + +class Routes extends React.Component { + render() { + return ( + + {/* FREE */} + + + Not Found; + }} + /> + + ); + } +} + +export default Routes; diff --git a/client/src/index.css b/client/src/index.css new file mode 100644 index 0000000..33ea5cd --- /dev/null +++ b/client/src/index.css @@ -0,0 +1,97 @@ +/* #apppage .gradient { + background: -moz-linear-gradient(45deg, rgba(213, 15, 61, 0.6), rgba(13, 17, 198, 0.69) 100%); + background: -webkit-linear-gradient(45deg, rgba(213, 15, 61, 0.6), rgba(13, 17, 198, 0.69) 100%); + background: linear-gradient(to 45deg, rgba(213, 15, 61, 0.6), rgba(13, 17, 198, 0.69) 100%); +} */ + +#maincontent { + min-height: 100%; +} +#apppage { + min-height: 100%; +} +#apppage h6 { + line-height: 1.7; +} +.footer { + position: relative; + clear: both; +} +.collapse.show { + padding-bottom: 20px; +} +#apppage .navbar { + transition: background 0.5s ease-in-out, padding 0.5s ease-in-out; + box-shadow: 0px 0px !important; +} + +#apppage .top-nav-collapse { + background: #128f52 !important; + padding-top: 0px !important; + padding-bottom: 0px !important; +} + +@media (max-width: 768px) { + #apppage .navbar:not(.top-nav-collapse) { + background: #128f52 !important; + padding-top: 0px !important; + padding-bottom: 0px !important; + } +} + +strong.important { + font-weight: 700 !important; +} + +.testimonialc { + margin-bottom: 100px; +} + +.carousel-item i { + font-size: 80px; + color: #128f52; + padding-bottom: 15px; +} + +.testimonialc .carousel-item-next, +.testimonialc .carousel-item-prev, +.testimonialc .carousel-item.active { + display: block; +} +.testimonialc .carousel-indicators li { + height: 16px; + width: 16px; + max-width: 16px; + background-color: #3a3a3a; + margin-bottom: -60px; +} +.testimonialc .carousel-indicators .active { + height: 20px; + width: 20px; + max-width: 20px; + background-color: #71ad37; + -webkit-border-radius: 50%; + border-radius: 50%; +} + +.testimonialc .controls-top .btn-floating { + background: #4285f4; +} +.testimonialc .carousel-indicators { + margin-bottom: -5em; +} +.testimonialc .card { + margin: 1px; +} +.testimonialc .card-cascade.narrower { + margin-top: 20px; + margin-bottom: 5px; +} +@media only screen and (max-width: 992px) { + .testimonialc .carousel-indicators li { + margin-bottom: -30px; + } +} +#testimonies { + padding: 14rem 0 !important; +} diff --git a/client/src/index.js b/client/src/index.js new file mode 100644 index 0000000..2fa69a2 --- /dev/null +++ b/client/src/index.js @@ -0,0 +1,14 @@ +import React from "react"; +import ReactDOM from "react-dom"; +import "font-awesome/css/font-awesome.min.css"; +import "bootstrap/dist/css/bootstrap.min.css"; +import "mdbreact/dist/css/mdb.css"; +import "./index.css"; + +import App from "./App"; + +import registerServiceWorker from "./registerServiceWorker"; + +ReactDOM.render(, document.getElementById("root")); + +registerServiceWorker(); diff --git a/client/src/pages/HomePage.css b/client/src/pages/HomePage.css new file mode 100644 index 0000000..4cd08cf --- /dev/null +++ b/client/src/pages/HomePage.css @@ -0,0 +1,7 @@ +#apppage .vmain { + background-image: url("../static/img/header-bg.jpg"); + background-repeat: no-repeat; + background-size: cover; + background-position: center center; + height: 100vh; +} diff --git a/client/src/pages/HomePage.js b/client/src/pages/HomePage.js new file mode 100644 index 0000000..46716e2 --- /dev/null +++ b/client/src/pages/HomePage.js @@ -0,0 +1,612 @@ +import React from "react"; +import { + Carousel, + CarouselInner, + CarouselItem, + CarouselIndicators, + CarouselIndicator, + Mask, + Row, + Col, + Button, + View, + Container +} from "mdbreact"; + +import "./HomePage.css"; + +class HomePage extends React.Component { + constructor(props) { + super(props); + this.next = this.next.bind(this); + this.prev = this.prev.bind(this); + this.state = { + activeItem: 1, + maxLength: 6 + }; + } + + next() { + let nextItem = this.state.activeItem + 1; + if (nextItem > this.state.maxLength) { + this.setState({ activeItem: 1 }); + } else { + this.setState({ activeItem: nextItem }); + } + } + + prev() { + let prevItem = this.state.activeItem - 1; + if (prevItem < 1) { + this.setState({ activeItem: this.state.maxLength }); + } else { + this.setState({ activeItem: prevItem }); + } + } + + goToIndex(item) { + if (this.state.activeItem !== item) { + this.setState({ + activeItem: item + }); + } + } + + render() { + const { activeItem } = this.state; + return ( + + + + + + +

    + + + Accept any Digital Currency at Zero Cost + + +

    +
    + + +

    + + Cryptocurrencies bring Global Sales; Bitcoin Cash, bitUSD, + bitEUR, bitRUB, bitXCD, bitSilver, Steem, Litecoin and + more + +

    + + +
    +
    +
    +
    + +
    +
    +
    +
    +

    + + 100% FREE Crypto Point-Of-Sale Software for any Business + +

    +
    +
    +
    +
    +
    +
    +
    +
    + + Retail + +

    + Retail +

    +
    +
    + +
    +
    + + Cafe/Bars + +

    + Cafe/Bars +

    +
    +
    + +
    +
    + + Restaurants + +

    + Restaurants +

    +
    +
    + +
    +
    + + Gas Stations + +

    + Gas Stations +

    +
    +
    + +
    +
    + + Bill-Pay Counters + +

    + Bill-Pay Counters +

    +
    +
    + +
    +
    + + Grocery + +

    + Grocery +

    +
    +
    + +
    +
    + + Delivery Drivers + +

    + Delivery Drivers +

    +
    +
    + +
    +
    + + Phone Orders + +

    + Phone Orders +

    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    +
    +
    +

    + + + Integrates seamlessly with Existing Systems + + +

    +

    + + + PalmPay was built from the ground up to be Future-Proof. + Business owners no longer need to stay savvy on the + latest technologies. Blockchains and currencies come and + go, but PalmPay supports them and offers them to your + customers based upon their popularity, automatically. + + + +
    + + + Zero cost. Zero setup fee. Zero transaction fee. Zero + monthly fee. Your Customers pay the tiny 0.5% + transaction fee to pay with their favorite digital + currency. + + + +
    + + + eReceipts, and advanced Export features enable + simplified accounting and Tax reporting. Your Customers + also receive a beautiful eReceipt directly to their + smartphone after their payment. + + + +
    + + + Faster and Safer than Cash. Customer transactions take 3 + seconds or less. Let’s see cash or card Customers get + through that fast! + + +

    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +

    + + + Mobile Payments are quicker than ever. Process your + Customer orders instantly + + +

    +

    + + + Whether you are delivering packages requiring payment, + helping hundreds of Customers to speed through the + checkout line, or just serving up the bill in a + high-paced restaurant, PalmPay handles them all + instantly. + + + +
    + + + No more credit card expenses. No more cash robberies. + Maximum Security and Zero Risk with no chance of + ID-Theft or Card Fraud. PalmPay uses the Bitshares + blockchain to instantly secure any transaction amount + and has done so for over 3 years now, recently exceeding + 3300 transactions per second. + + + +
    + + + Hacking a blockchain is impossible since it uses + Distributed Ledger Technology, instantly ensuring that + each transaction is verified by hundreds of computers + around the world. + + + +
    +

    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +

    + + + Cryptocurrency volatility is a thing of the past + + +

    +

    + + + PalmPay instantly converts Crypto into your stable, + local currency in digital form, such as bitEUR, bitUSD, + bitJPY, bitKRW, bitRUB or even bitGold and bitSilver. + + + +
    + + + These Smartcoins are closely pegged 1:1 to their + underlying asset so that you never have to worry about + paying your bills with Crypto. + + + +
    + + + For example, the Canadian merchant who just received + some volatile Dogecoin, can receive it as price-stable + bitCAD. One currency is instantly morphed into another, + of the Merchants choice. PalmPay handles all of this in + the background, allowing the customer to pay with + whatever Crypto they prefer. + + + +
    + + + This stability is the foundation of the Blockchain My + City (BMC) + Initiative. PalmPay includes the ability to + automatically pay every Ambassador and enrolled + Government from the 0.5% that is collected from + customers. + + +

    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +

    + + + Unlimited, free Technical Support from PalmPay + Ambassadors + + +

    +

    + + + Free? Yes, totally free. PalmPay Ambassadors are paid + automatically, every 3 seconds, via the Customer + transaction fee mentioned above. So, if you ever have + questions (in any of the 44 supported languages), just + contact your local PalmPay Ambassador directly, or ask + for one on Telegram at + + http://t.me/Agorise + + + +
    + + + As long as your business has WiFi, and an Android tablet + or smartphone (for the free PalmPay software), that’s + literally all you need. No other hardware is needed. If + desired, don’t forget to ask your PalmPay Ambassador for + free window decals, stickers, flyers and promotional + materials. + + +

    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +

    + + + Access your accounts anytime, from anywhere in the world + + +

    +

    + + + Monitor the transactions at one or more of your + Businesses in real-time. Win, Mac, or Linux. + + + +
    + + + The Bitshares decentralized exchange (DEX) provides the + platform which PalmPay utilizes. Using their DEX, you + can freely move money between accounts, get a Loan, go + public, pay bills, Trade and even invest in other + assets. + + + +
    + + + They’re the bank that never closes, never needs a + bailout, and can never steal your money. Bitshares is + not a company. It’s a distributed network of computers + all running the same software providing maximum uptime. + So, stop trusting humans with your money and become your + own bank! + + +

    +
    +
    +
    +
    +
    + +
    +
    + + + + + { + this.goToIndex(1); + }} + /> + { + this.goToIndex(2); + }} + /> + { + this.goToIndex(3); + }} + /> + { + this.goToIndex(4); + }} + /> + { + this.goToIndex(5); + }} + /> + { + this.goToIndex(6); + }} + /> + + + + + + +
    Erik Y. ★★★★★
    +
    + "This is awesome! We have been looking for a way to + attract new customers and this is it." +
    + +
    + + + +
    Alexey T. ★★★★★
    +

    + “Outstanding!! ” +

    + +
    + + + +
    Nikos C. ★★★★★
    +

    + “Το Palmpay είναι ένα άλλο μονοπάτι για τα κέρδη. + Απλα ΔΟΚΙΜΑΣΕ το!” +

    + +
    + + + + +
    Nadya L. ★★★★☆
    +

    + “My husband suggested this and I am so glad to be + earning crypto now!” +

    + +
    + + + + +
    + Jennifer M. ★★★★★ +
    +

    + “Please tell me I can close my bank account now. + This is amazing, thank you Agorise!” +

    + +
    + + + +
    Jose M. ★★★★★
    +

    + “Nuestros clientes de Coin Shop se han duplicado + gracias a BitSilver y Palmpay. A++” +

    + +
    +
    +
    +
    + + +
    +