setShowModal(false)}
+ selectedCoin={clickedItem}
+ addToBlacklist={addToBlacklist}
+ />
+ )}
+ >
+ )
+}
+
+export default Blacklist
diff --git a/new-lamassu-admin/src/pages/Blacklist/Blacklist.styles.js b/new-lamassu-admin/src/pages/Blacklist/Blacklist.styles.js
new file mode 100644
index 00000000..b4374d41
--- /dev/null
+++ b/new-lamassu-admin/src/pages/Blacklist/Blacklist.styles.js
@@ -0,0 +1,39 @@
+import { spacer, fontPrimary, primaryColor, white } from 'src/styling/variables'
+
+export default {
+ grid: {
+ flex: 1,
+ height: '100%'
+ },
+ content: {
+ display: 'flex',
+ flexDirection: 'column',
+ flex: 1,
+ marginLeft: spacer * 6
+ },
+ footer: {
+ margin: [['auto', 0, spacer * 3, 'auto']]
+ },
+ modalTitle: {
+ lineHeight: '120%',
+ color: primaryColor,
+ fontSize: 14,
+ fontFamily: fontPrimary,
+ fontWeight: 900
+ },
+ subtitle: {
+ display: 'flex',
+ justifyContent: 'space-between',
+ alignItems: 'center',
+ flexDirection: 'row'
+ },
+ white: {
+ color: white
+ },
+ deleteButton: {
+ paddingLeft: 13
+ },
+ addressRow: {
+ marginLeft: 8
+ }
+}
diff --git a/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.js b/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.js
new file mode 100644
index 00000000..1e6877e2
--- /dev/null
+++ b/new-lamassu-admin/src/pages/Blacklist/BlacklistModal.js
@@ -0,0 +1,76 @@
+import { makeStyles } from '@material-ui/core/styles'
+import { Formik, Form, Field } from 'formik'
+import * as R from 'ramda'
+import React from 'react'
+import * as Yup from 'yup'
+
+import Modal from 'src/components/Modal'
+import { Link } from 'src/components/buttons'
+import { TextInput } from 'src/components/inputs/formik'
+import { H3 } from 'src/components/typography'
+
+import styles from './Blacklist.styles'
+const useStyles = makeStyles(styles)
+
+const BlackListModal = ({ onClose, selectedCoin, addToBlacklist }) => {
+ const classes = useStyles()
+
+ const handleAddToBlacklist = address => {
+ addToBlacklist(selectedCoin.code, address)
+ }
+
+ const placeholderAddress = {
+ BTC: '1ADwinnimZKGgQ3dpyfoUZvJh4p1UWSSpD',
+ ETH: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F',
+ LTC: 'LPKvbjwV1Kaksktzkr7TMK3FQtQEEe6Wqa',
+ DASH: 'XqQ7gU8eM76rEfey726cJpT2RGKyJyBrcn',
+ ZEC: 't1KGyyv24eL354C9gjveBGEe8Xz9UoPKvHR',
+ BCH: 'qrd6za97wm03lfyg82w0c9vqgc727rhemg5yd9k3dm'
+ }
+
+ return (
+
+ {
+ handleAddToBlacklist(address)
+ resetForm()
+ }}>
+
+
+
+
+ Blacklist address
+
+
+
+ )
+}
+
+export default BlackListModal
diff --git a/new-lamassu-admin/src/pages/Blacklist/BlacklistTable.js b/new-lamassu-admin/src/pages/Blacklist/BlacklistTable.js
new file mode 100644
index 00000000..95b66110
--- /dev/null
+++ b/new-lamassu-admin/src/pages/Blacklist/BlacklistTable.js
@@ -0,0 +1,60 @@
+import { makeStyles } from '@material-ui/core/styles'
+import * as R from 'ramda'
+import React from 'react'
+
+import { IconButton } from 'src/components/buttons'
+import DataTable from 'src/components/tables/DataTable'
+import { Label1 } from 'src/components/typography'
+import CopyToClipboard from 'src/pages/Transactions/CopyToClipboard'
+import { ReactComponent as DeleteIcon } from 'src/styling/icons/action/delete/enabled.svg'
+
+import styles from './Blacklist.styles'
+
+const useStyles = makeStyles(styles)
+
+const BlacklistTable = ({ data, selectedCoin, handleDeleteEntry }) => {
+ const classes = useStyles()
+
+ const elements = [
+ {
+ name: 'address',
+ header: {'Addresses'} ,
+ width: 800,
+ textAlign: 'left',
+ size: 'sm',
+ view: it => (
+
+ {R.path(['address'], it)}
+
+ )
+ },
+ {
+ name: 'deleteButton',
+ header: {'Delete'} ,
+ width: 130,
+ textAlign: 'center',
+ size: 'sm',
+ view: it => (
+
+ handleDeleteEntry(
+ R.path(['cryptoCode'], it),
+ R.path(['address'], it)
+ )
+ }>
+
+
+ )
+ }
+ ]
+ const dataToShow = selectedCoin
+ ? data[selectedCoin.code]
+ : data[R.keys(data)[0]]
+
+ return (
+
+ )
+}
+
+export default BlacklistTable
diff --git a/new-lamassu-admin/src/pages/Blacklist/index.js b/new-lamassu-admin/src/pages/Blacklist/index.js
new file mode 100644
index 00000000..4a7e8ce4
--- /dev/null
+++ b/new-lamassu-admin/src/pages/Blacklist/index.js
@@ -0,0 +1,3 @@
+import Blacklist from './Blacklist'
+
+export default Blacklist
diff --git a/new-lamassu-admin/src/routing/routes.js b/new-lamassu-admin/src/routing/routes.js
index 43f5deb6..404ade02 100644
--- a/new-lamassu-admin/src/routing/routes.js
+++ b/new-lamassu-admin/src/routing/routes.js
@@ -10,6 +10,7 @@ import {
import { AppContext } from 'src/App'
import AuthRegister from 'src/pages/AuthRegister'
+import Blacklist from 'src/pages/Blacklist'
import Cashout from 'src/pages/Cashout'
import Commissions from 'src/pages/Commissions'
import { Customers, CustomerProfile } from 'src/pages/Customers'
@@ -148,6 +149,12 @@ const tree = [
route: '/compliance/customers',
component: Customers
},
+ {
+ key: 'blacklist',
+ label: 'Blacklist',
+ route: '/compliance/blacklist',
+ component: Blacklist
+ },
{
key: 'customer',
route: '/compliance/customer/:id',
diff --git a/new-lamassu-admin/src/styling/icons/menu/search-zodiac.svg b/new-lamassu-admin/src/styling/icons/menu/search-zodiac.svg
new file mode 100644
index 00000000..99fb94be
--- /dev/null
+++ b/new-lamassu-admin/src/styling/icons/menu/search-zodiac.svg
@@ -0,0 +1,13 @@
+
+
+
+ Created with Sketch.
+
+
+
+
+
+
\ No newline at end of file