gatsby-core-theme 42.0.2 → 42.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/package.json +1 -1
- package/src/components/molecules/floating-area/index.js +3 -1
- package/src/components/organisms/head/index.js +10 -4
- package/src/constants/site-settings/navigation.js +6 -0
- package/src/helpers/processor/common.mjs +1 -1
- package/src/helpers/processor/index.mjs +6 -3
- package/src/helpers/replaceMedia.js +103 -81
- package/src/helpers/replaceMedia.test.js +33 -0
- package/tests/factories/crypto-brokers/crypto-brokers.factory.js +77 -1
- package/tests/factories/crypto-exchanges/crypto-exchanges.factory.js +542 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
## [42.0.3](https://gitlab.com/g2m-gentoo/team-floyd/themes/gatsby-themes/compare/v42.0.2...v42.0.3) (2025-02-07)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* add checker ([586b529](https://gitlab.com/g2m-gentoo/team-floyd/themes/gatsby-themes/commit/586b5292d469676e995a7b0c6dddbfa7385b8b30))
|
|
7
|
+
* add tests ([24fe1b1](https://gitlab.com/g2m-gentoo/team-floyd/themes/gatsby-themes/commit/24fe1b19b46addca856bed2d727c46b90cffcc74))
|
|
8
|
+
* add traling slash on content and og:url ([4c1d918](https://gitlab.com/g2m-gentoo/team-floyd/themes/gatsby-themes/commit/4c1d9180e2e3c81ad965a6bc8f65c4fcf415e561))
|
|
9
|
+
* enabled mobile bottom navigation ([b3762c8](https://gitlab.com/g2m-gentoo/team-floyd/themes/gatsby-themes/commit/b3762c88226bf712fa0195e1178773d7aa0d4942))
|
|
10
|
+
* fix placeholder ([75a2619](https://gitlab.com/g2m-gentoo/team-floyd/themes/gatsby-themes/commit/75a261915fee687c451ac5fbc21ef8c21c14f101))
|
|
11
|
+
* update bottom navigation ([ae5fa79](https://gitlab.com/g2m-gentoo/team-floyd/themes/gatsby-themes/commit/ae5fa79b1216e0ff36056b7ffb2616828b81aff9))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
* Merge branch 'fix-meta-title-placeholder' into 'master' ([8ced56d](https://gitlab.com/g2m-gentoo/team-floyd/themes/gatsby-themes/commit/8ced56d344ff6dea84077d869b168113d1a47bf8))
|
|
15
|
+
* Merge branch 'tm-5176-mobile-bottom-navigation' into 'master' ([9ce920b](https://gitlab.com/g2m-gentoo/team-floyd/themes/gatsby-themes/commit/9ce920b9ef19c0d8133ac43f8826df7a2990b8f6))
|
|
16
|
+
* Merge branch 'tm-5161-trailing-slash' into 'master' ([bb9060e](https://gitlab.com/g2m-gentoo/team-floyd/themes/gatsby-themes/commit/bb9060ee6ddda62657e8275f8f99fe573b136709))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Tests
|
|
20
|
+
|
|
21
|
+
* add test data ([97b604f](https://gitlab.com/g2m-gentoo/team-floyd/themes/gatsby-themes/commit/97b604f66925da7a6846ccc20e593a52d70e169b))
|
|
22
|
+
|
|
1
23
|
## [42.0.2](https://gitlab.com/g2m-gentoo/team-floyd/themes/gatsby-themes/compare/v42.0.1...v42.0.2) (2025-02-05)
|
|
2
24
|
|
|
3
25
|
|
package/package.json
CHANGED
|
@@ -8,6 +8,7 @@ import CookieConsent from '~organisms/cookie-consent';
|
|
|
8
8
|
import isSticky from '~hooks/stickyOnScroll';
|
|
9
9
|
import { TrackingKeys } from '~constants/tracking-api'
|
|
10
10
|
import styles from './floating-area.module.scss';
|
|
11
|
+
import { layout } from '../../../constants/site-settings/navigation';
|
|
11
12
|
|
|
12
13
|
export default function FloatingArea({
|
|
13
14
|
pageContext,
|
|
@@ -20,6 +21,7 @@ export default function FloatingArea({
|
|
|
20
21
|
const showScroll = isSticky(offsetTop);
|
|
21
22
|
const [closedBanner, setClosedBanner] = useState(false);
|
|
22
23
|
const pageType = pageContext.page.relation_type;
|
|
24
|
+
const pageTemplate = pageContext?.page?.template
|
|
23
25
|
const getAllMarketsHomepage = () =>
|
|
24
26
|
Object.keys(pageContext?.allMarkets || {})?.map((elm) => elm.split('_')[1]) || [];
|
|
25
27
|
const isPageHomepage =
|
|
@@ -32,7 +34,7 @@ export default function FloatingArea({
|
|
|
32
34
|
: null;
|
|
33
35
|
|
|
34
36
|
const FooterNavigation =
|
|
35
|
-
footerNavigationData && footerNavigationData?.modules?.length > 0 && pageType !== 'operator'
|
|
37
|
+
footerNavigationData && footerNavigationData?.modules?.length > 0 && pageType !== 'operator'&& layout[pageTemplate]?.footerNavigation
|
|
36
38
|
? lazy(() => import(`gatsby-core-theme/src/components/organisms/footer-navigation`))
|
|
37
39
|
: null;
|
|
38
40
|
|
|
@@ -10,14 +10,19 @@ export function getLanguage(language) {
|
|
|
10
10
|
if (language === 'no') return 'nb-NO';
|
|
11
11
|
return language || 'en';
|
|
12
12
|
}
|
|
13
|
-
export function getCanonicalUrl(page) {
|
|
13
|
+
export function getCanonicalUrl(page, isTracker) {
|
|
14
14
|
if (page.canonical_url) {
|
|
15
15
|
return `${process.env.GATSBY_SITE_URL}${page.canonical_url}`;
|
|
16
16
|
}
|
|
17
17
|
if (page.path === '/') {
|
|
18
18
|
return process.env.GATSBY_SITE_URL;
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
const trailingSlash = process.env.TRAILING_SLASH ? '/' : '';
|
|
21
|
+
|
|
22
|
+
return `${process.env.GATSBY_SITE_URL}${page.path.replace(/^\//, '')}${
|
|
23
|
+
!isTracker ? trailingSlash : ''
|
|
24
|
+
}`
|
|
25
|
+
|
|
21
26
|
}
|
|
22
27
|
export function getRobotOptions(options) {
|
|
23
28
|
const array = [];
|
|
@@ -39,6 +44,7 @@ function setName(string) {
|
|
|
39
44
|
|
|
40
45
|
const HeadData = ({ page = {}, siteInfo }) => {
|
|
41
46
|
const pageImage = getPageImage(page) ? getPageImage(page) : imagePrettyUrl(siteInfo?.site_logo);
|
|
47
|
+
const isTracker = page.template === 'tracker';
|
|
42
48
|
let defaultHref = null;
|
|
43
49
|
// When google re-indexes dev NSA and IRL, remove lines 28, 41, 42, 43 and process.env.GATSBY_ACTIVE_ENV !== 'development' from lines 24, 25, 27, 29, 43
|
|
44
50
|
return (
|
|
@@ -55,7 +61,7 @@ const HeadData = ({ page = {}, siteInfo }) => {
|
|
|
55
61
|
{process.env.GATSBY_ACTIVE_ENV === 'development' && (
|
|
56
62
|
<meta name="googlebot" content="noindex,follow" />
|
|
57
63
|
)}
|
|
58
|
-
<link rel="canonical" href={getCanonicalUrl(page)} />
|
|
64
|
+
<link rel="canonical" href={getCanonicalUrl(page, isTracker)} />
|
|
59
65
|
{page?.hreflangs?.map((link) => {
|
|
60
66
|
if (link?.default) defaultHref = link?.path;
|
|
61
67
|
return <link rel="alternate" href={getUrl(link.path)} hrefLang={link.language} />;
|
|
@@ -69,7 +75,7 @@ const HeadData = ({ page = {}, siteInfo }) => {
|
|
|
69
75
|
<meta name="og:description" content={page.meta_description} />
|
|
70
76
|
<meta name="og:type" content={page.path === '/' ? 'website' : 'article'} />
|
|
71
77
|
<meta name="og:image" content={pageImage} />
|
|
72
|
-
<meta name="og:url" content={
|
|
78
|
+
<meta name="og:url" content={getCanonicalUrl(page, isTracker)} />
|
|
73
79
|
<meta
|
|
74
80
|
property="og:locale"
|
|
75
81
|
content={getLanguage(page.language) === 'en' ? 'en_GB' : getLanguage(page.language)}
|
|
@@ -162,7 +162,7 @@ export function removeUnwantedSections(obj, pageType) {
|
|
|
162
162
|
games: ["post_main_games"],
|
|
163
163
|
operator: ['post_main_operators', "pre_main_operators", "recommended_casinos"],
|
|
164
164
|
article: ['post_main_articles'],
|
|
165
|
-
default: ['footer', 'links', 'navigation', 'popup', 'rg_navigation', 'sidebar']
|
|
165
|
+
default: ['footer', 'links', 'navigation', 'popup', 'rg_navigation', 'sidebar', 'footer_navigation']
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
// Get sections to keep: merge default sections and specific sections for the key
|
|
@@ -289,23 +289,26 @@ export function processExtraFields(
|
|
|
289
289
|
}
|
|
290
290
|
|
|
291
291
|
function updatePlaceholders(page, data, translationsData) {
|
|
292
|
+
|
|
292
293
|
page.title =
|
|
293
294
|
page.title &&
|
|
294
295
|
generatePlaceholderString(page.title, translationsData, {
|
|
295
296
|
siteName: data.site_name,
|
|
296
|
-
|
|
297
|
+
pageTitle: page.title
|
|
297
298
|
});
|
|
299
|
+
|
|
298
300
|
page.meta_title =
|
|
299
301
|
page.meta_title &&
|
|
300
302
|
generatePlaceholderString(page.meta_title, translationsData, {
|
|
301
303
|
siteName: data.site_name,
|
|
302
|
-
|
|
304
|
+
pageTitle: page.title
|
|
303
305
|
});
|
|
306
|
+
|
|
304
307
|
page.meta_description =
|
|
305
308
|
page.meta_description &&
|
|
306
309
|
generatePlaceholderString(page.meta_description, translationsData, {
|
|
307
310
|
siteName: data.site_name,
|
|
308
|
-
|
|
311
|
+
pageTitle: page.title
|
|
309
312
|
});
|
|
310
313
|
}
|
|
311
314
|
|
|
@@ -1,106 +1,128 @@
|
|
|
1
1
|
/* eslint-disable react/destructuring-assignment */
|
|
2
|
-
import React from
|
|
3
|
-
import Iframe from
|
|
4
|
-
import { isTrackerLink } from
|
|
5
|
-
import processImageNode from
|
|
6
|
-
import { TrackingKeys } from
|
|
7
|
-
import PrettyLink from
|
|
8
|
-
|
|
9
|
-
export default (
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
import React from "react";
|
|
3
|
+
import Iframe from "gatsby-core-theme/src/components/atoms/iframe";
|
|
4
|
+
import { isTrackerLink } from "gatsby-core-theme/src/helpers/tracker.mjs";
|
|
5
|
+
import processImageNode from "./processImageNode.js";
|
|
6
|
+
import { TrackingKeys } from "~constants/tracking-api";
|
|
7
|
+
import PrettyLink from "~atoms/pretty-link";
|
|
8
|
+
|
|
9
|
+
export default (
|
|
10
|
+
node,
|
|
11
|
+
moduleWidth = 960,
|
|
12
|
+
moduleName,
|
|
13
|
+
pageTemplate,
|
|
14
|
+
modulePosition,
|
|
15
|
+
styles
|
|
16
|
+
) => {
|
|
17
|
+
if (node.name === "a" && node?.attribs?.class) {
|
|
12
18
|
node.attribs.class = styles && styles[node?.attribs?.class];
|
|
13
19
|
}
|
|
14
20
|
|
|
15
|
-
if (node && node.attribs && node.attribs[
|
|
16
|
-
node.attribs[
|
|
21
|
+
if (node && node.attribs && node.attribs["data-anchor-label"]) {
|
|
22
|
+
node.attribs["data-track"] = true;
|
|
17
23
|
}
|
|
18
24
|
|
|
19
|
-
if (
|
|
20
|
-
node.
|
|
25
|
+
if (
|
|
26
|
+
node.name === "div" &&
|
|
27
|
+
(node.attribs["data-type"] === "columnBlock" ||
|
|
28
|
+
node.attribs["data-type"] === "threeColumnBlock")
|
|
29
|
+
) {
|
|
30
|
+
node.attribs.class = `${styles.column} ${
|
|
31
|
+
node.attribs?.class === "two-column-block"
|
|
32
|
+
? styles.twoColumnBlock
|
|
33
|
+
: styles.threeColumnBlock
|
|
34
|
+
}`;
|
|
21
35
|
}
|
|
22
36
|
|
|
23
|
-
if (node.name ===
|
|
24
|
-
return <Iframe src={node.attribs.src}
|
|
37
|
+
if (node.name === "iframe") {
|
|
38
|
+
return <Iframe src={node.attribs.src} />;
|
|
25
39
|
}
|
|
26
40
|
|
|
27
|
-
if (node.name ===
|
|
28
|
-
return processImageNode(node, moduleWidth)
|
|
41
|
+
if (node.name === "img") {
|
|
42
|
+
return processImageNode(node, moduleWidth);
|
|
29
43
|
}
|
|
30
44
|
|
|
31
|
-
if (node.name ===
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
45
|
+
if (node.name === "a") {
|
|
46
|
+
const tralingSlash = process.env.TRAILING_SLASH;
|
|
47
|
+
if (!node.attribs.href.endsWith('/') && tralingSlash === "true" && !isTrackerLink(node?.attribs?.href || "")) {
|
|
48
|
+
node.attribs.href = `${node.attribs.href }/`
|
|
49
|
+
return node;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (isTrackerLink(node?.attribs?.href || "")) {
|
|
53
|
+
// Helper function to convert style string to an object
|
|
54
|
+
const convertStyleStringToObject = (styleString) =>
|
|
55
|
+
styleString.split(";").reduce((acc, style) => {
|
|
56
|
+
const [key, value] = style.split(":");
|
|
57
|
+
if (key && value) {
|
|
58
|
+
acc[key.trim()] = value.trim();
|
|
59
|
+
}
|
|
60
|
+
return acc;
|
|
61
|
+
}, {});
|
|
62
|
+
|
|
63
|
+
// Helper function to recursively render children nodes
|
|
64
|
+
const renderChildren = (children) =>
|
|
65
|
+
children.map((child) => {
|
|
66
|
+
if (child.type === "tag") {
|
|
67
|
+
const styleObject = child.attribs?.style
|
|
68
|
+
? convertStyleStringToObject(child.attribs.style)
|
|
69
|
+
: null;
|
|
70
|
+
|
|
71
|
+
const { style, ...attribsWithoutStyle } = child.attribs;
|
|
72
|
+
|
|
73
|
+
// Assuming `child.attribs.id` or a similar unique property exists
|
|
74
|
+
const key = child.attribs.id || child.name;
|
|
75
|
+
|
|
76
|
+
if (child.name === "img") {
|
|
77
|
+
return processImageNode(child, moduleWidth);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return React.createElement(
|
|
81
|
+
child.name,
|
|
82
|
+
{ key, ...attribsWithoutStyle, style: styleObject },
|
|
83
|
+
child.name !== "img" && child.name !== "br"
|
|
84
|
+
? renderChildren(child.children || [])
|
|
85
|
+
: null
|
|
86
|
+
);
|
|
57
87
|
}
|
|
58
88
|
|
|
59
|
-
return
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
rel={node?.attribs?.rel}
|
|
80
|
-
modulePosition={modulePosition}
|
|
81
|
-
>
|
|
82
|
-
{node.children === 'text'
|
|
83
|
-
? node.children[0]?.data
|
|
84
|
-
: renderChildren(node?.children || [])}
|
|
85
|
-
</PrettyLink>
|
|
86
|
-
)
|
|
89
|
+
return child?.data;
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
return (
|
|
93
|
+
<PrettyLink
|
|
94
|
+
directPrettyLink={node?.attribs?.href}
|
|
95
|
+
pageTemplate={pageTemplate}
|
|
96
|
+
moduleName={TrackingKeys?.CONTENT}
|
|
97
|
+
tracker={module?.tracking_link_name || "main"}
|
|
98
|
+
className="content-module-gtm"
|
|
99
|
+
clickedElement="link"
|
|
100
|
+
rel={node?.attribs?.rel}
|
|
101
|
+
modulePosition={modulePosition}
|
|
102
|
+
>
|
|
103
|
+
{node.children === "text"
|
|
104
|
+
? node.children[0]?.data
|
|
105
|
+
: renderChildren(node?.children || [])}
|
|
106
|
+
</PrettyLink>
|
|
107
|
+
);
|
|
108
|
+
}
|
|
87
109
|
}
|
|
88
110
|
|
|
89
|
-
if (node.name ===
|
|
90
|
-
const hasChildImg = node?.children.find((child) => child?.name ===
|
|
111
|
+
if (node.name === "p") {
|
|
112
|
+
const hasChildImg = node?.children.find((child) => child?.name === "img");
|
|
91
113
|
|
|
92
114
|
if (hasChildImg) {
|
|
93
|
-
hasChildImg.attribs.style =
|
|
94
|
-
return hasChildImg
|
|
115
|
+
hasChildImg.attribs.style = "";
|
|
116
|
+
return hasChildImg;
|
|
95
117
|
}
|
|
96
118
|
}
|
|
97
119
|
|
|
98
120
|
// Add tab index for tables for accessibility
|
|
99
|
-
if (node.name ===
|
|
100
|
-
node.attribs.tabIndex = 0
|
|
121
|
+
if (node.name === "table") {
|
|
122
|
+
node.attribs.tabIndex = 0;
|
|
101
123
|
|
|
102
|
-
return node
|
|
124
|
+
return node;
|
|
103
125
|
}
|
|
104
126
|
|
|
105
|
-
return null
|
|
106
|
-
}
|
|
127
|
+
return null;
|
|
128
|
+
};
|
|
@@ -118,4 +118,37 @@ describe('replaceMedia function', () => {
|
|
|
118
118
|
expect(imageNode.props.width).toBe(100)
|
|
119
119
|
expect(imageNode.props.height).toBe(50)
|
|
120
120
|
})
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
it('should add slash in the end of the link if it isnt exist', () => {
|
|
124
|
+
process.env.TRAILING_SLASH = "true";
|
|
125
|
+
|
|
126
|
+
const node = {
|
|
127
|
+
name: 'a',
|
|
128
|
+
attribs: {
|
|
129
|
+
href: 'http://example.com',
|
|
130
|
+
style: 'color: red; text-decoration: none;',
|
|
131
|
+
rel: 'noopener noreferrer'
|
|
132
|
+
},
|
|
133
|
+
}
|
|
134
|
+
const result = transformNode(node);
|
|
135
|
+
|
|
136
|
+
expect(result.attribs.href).toBe("http://example.com/");
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
it('if the slash exist on the end no need to add it the function will return null', () => {
|
|
140
|
+
process.env.TRAILING_SLASH = "true";
|
|
141
|
+
|
|
142
|
+
const node = {
|
|
143
|
+
name: 'a',
|
|
144
|
+
attribs: {
|
|
145
|
+
href: 'http://example.com/',
|
|
146
|
+
style: 'color: red; text-decoration: none;',
|
|
147
|
+
rel: 'noopener noreferrer'
|
|
148
|
+
},
|
|
149
|
+
}
|
|
150
|
+
const result = transformNode(node);
|
|
151
|
+
|
|
152
|
+
expect(result).toBe(null);
|
|
153
|
+
});
|
|
121
154
|
})
|
|
@@ -29,13 +29,89 @@ export const getDefaultCryptoBrokersProps = (index = 1) => ({
|
|
|
29
29
|
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1719825945/viperwin-logo.png",
|
|
30
30
|
width: "412",
|
|
31
31
|
height: "412",
|
|
32
|
-
alt: "
|
|
32
|
+
alt: "image for Viperwin",
|
|
33
33
|
color: "#060b26",
|
|
34
34
|
id: 139721,
|
|
35
35
|
raw_filename: "1719825945/viperwin-logo"
|
|
36
36
|
}
|
|
37
37
|
})
|
|
38
38
|
|
|
39
|
+
export const transformedCryptoBrokers = () => ({
|
|
40
|
+
logo: {
|
|
41
|
+
filename: ""
|
|
42
|
+
},
|
|
43
|
+
id: 1,
|
|
44
|
+
selling_points: [
|
|
45
|
+
"fastpayouts",
|
|
46
|
+
"freespins",
|
|
47
|
+
"lowwager",
|
|
48
|
+
"new"
|
|
49
|
+
],
|
|
50
|
+
name: "eToro",
|
|
51
|
+
short_name: "etoro",
|
|
52
|
+
url: "www.testbroker.com",
|
|
53
|
+
crypto_currencies: [
|
|
54
|
+
{
|
|
55
|
+
id: 202,
|
|
56
|
+
name: "Sushi",
|
|
57
|
+
iso_code: "SUSH",
|
|
58
|
+
symbol: "",
|
|
59
|
+
crypto: 1,
|
|
60
|
+
logo: {
|
|
61
|
+
title: "Sushiswap sushi (1)",
|
|
62
|
+
filename: "1710243195/sushiswap-sushi-%281%29.png",
|
|
63
|
+
extension: ".png",
|
|
64
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1710243195/sushiswap-sushi-%281%29.png",
|
|
65
|
+
width: "412",
|
|
66
|
+
height: "275",
|
|
67
|
+
alt: "image for Sushi Swap",
|
|
68
|
+
color: "#ffffff",
|
|
69
|
+
id: 128983,
|
|
70
|
+
raw_filename: "1710243195/sushiswap-sushi-%281%29"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: 235,
|
|
75
|
+
name: "Maker",
|
|
76
|
+
iso_code: "MKR",
|
|
77
|
+
symbol: "MKR",
|
|
78
|
+
crypto: 1,
|
|
79
|
+
logo: {
|
|
80
|
+
title: "Maker coin logo",
|
|
81
|
+
filename: "1710243068/maker-coin-logo.png",
|
|
82
|
+
extension: ".png",
|
|
83
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1710243068/maker-coin-logo.png",
|
|
84
|
+
width: "412",
|
|
85
|
+
height: "275",
|
|
86
|
+
alt: "image for Maker Coin",
|
|
87
|
+
color: "#ffffff",
|
|
88
|
+
id: 128982,
|
|
89
|
+
raw_filename: "1710243068/maker-coin-logo"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
id: 289,
|
|
94
|
+
name: "Sushiswap",
|
|
95
|
+
iso_code: "SUSHI",
|
|
96
|
+
symbol: "",
|
|
97
|
+
crypto: 1,
|
|
98
|
+
logo: {
|
|
99
|
+
title: "Sushiswap sushi (1)",
|
|
100
|
+
filename: "1710243195/sushiswap-sushi-%281%29.png",
|
|
101
|
+
extension: ".png",
|
|
102
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1710243195/sushiswap-sushi-%281%29.png",
|
|
103
|
+
width: "412",
|
|
104
|
+
height: "275",
|
|
105
|
+
alt: "image for Sushi Swap",
|
|
106
|
+
color: "#ffffff",
|
|
107
|
+
id: 128983,
|
|
108
|
+
raw_filename: "1710243195/sushiswap-sushi-%281%29"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
min_deposit: "2"
|
|
113
|
+
})
|
|
114
|
+
|
|
39
115
|
export default function getCryptoBrokersList({ template, count = 1, id = 1, ...customProps }) {
|
|
40
116
|
const cryptosList = {};
|
|
41
117
|
// eslint-disable-next-line no-plusplus
|
|
@@ -62,6 +62,548 @@ export const getDefaultCryptoExchangesProps = (index = 1) => ({
|
|
|
62
62
|
}
|
|
63
63
|
})
|
|
64
64
|
|
|
65
|
+
export const transformedCryptoExchanges = () => ({
|
|
66
|
+
logo: {
|
|
67
|
+
title: "Binance Logo",
|
|
68
|
+
filename: "1669211148/binance.svg",
|
|
69
|
+
extension: ".svg",
|
|
70
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669211148/binance.svg",
|
|
71
|
+
width: "72",
|
|
72
|
+
height: "48",
|
|
73
|
+
alt: "Logo image for Binance",
|
|
74
|
+
id: 97751,
|
|
75
|
+
raw_filename: "1669211148/binance",
|
|
76
|
+
},
|
|
77
|
+
id: 1,
|
|
78
|
+
selling_points: [
|
|
79
|
+
"huge_selection_of_cryptos",
|
|
80
|
+
"userfriendly",
|
|
81
|
+
"suitable_for_mobile"
|
|
82
|
+
],
|
|
83
|
+
founded: "2017-07-01 00:00:00",
|
|
84
|
+
name: "Binance",
|
|
85
|
+
rating_security: 4,
|
|
86
|
+
rating_fees: 4,
|
|
87
|
+
rating_usability: 5,
|
|
88
|
+
rating_features: 4,
|
|
89
|
+
rating_support: 4,
|
|
90
|
+
rating_average: 4.2,
|
|
91
|
+
short_name: "binance",
|
|
92
|
+
markets_amount: "1,357",
|
|
93
|
+
support_types: [
|
|
94
|
+
"support_type_facebook",
|
|
95
|
+
"support_type_faq_section",
|
|
96
|
+
"support_type_live_chat",
|
|
97
|
+
"support_type_reddit"
|
|
98
|
+
],
|
|
99
|
+
headquarters: "Malta",
|
|
100
|
+
crypto_currencies: [
|
|
101
|
+
{
|
|
102
|
+
id: 22,
|
|
103
|
+
name: "Bitcoin",
|
|
104
|
+
iso_code: "BTC",
|
|
105
|
+
symbol: "฿",
|
|
106
|
+
crypto: 1,
|
|
107
|
+
logo: {
|
|
108
|
+
title: "Bitcoin logo",
|
|
109
|
+
filename: "1669211251/bitcoin.svg",
|
|
110
|
+
extension: ".svg",
|
|
111
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669211251/bitcoin.svg",
|
|
112
|
+
width: "72",
|
|
113
|
+
height: "48",
|
|
114
|
+
alt: "Logo image for Bitcoin",
|
|
115
|
+
id: 97753,
|
|
116
|
+
raw_filename: "1669211251/bitcoin"
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
id: 38,
|
|
121
|
+
name: "Dash",
|
|
122
|
+
iso_code: "DASH",
|
|
123
|
+
symbol: "",
|
|
124
|
+
crypto: 1,
|
|
125
|
+
logo: {
|
|
126
|
+
title: "Dash logo",
|
|
127
|
+
filename: "1669211476/dash.svg",
|
|
128
|
+
extension: ".svg",
|
|
129
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669211476/dash.svg",
|
|
130
|
+
width: "72",
|
|
131
|
+
height: "48",
|
|
132
|
+
alt: "Logo image for Dash",
|
|
133
|
+
id: 97756,
|
|
134
|
+
raw_filename: "1669211476/dash"
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
id: 41,
|
|
139
|
+
name: "Dogecoin",
|
|
140
|
+
iso_code: "DOGE",
|
|
141
|
+
symbol: "",
|
|
142
|
+
crypto: 1,
|
|
143
|
+
logo: {
|
|
144
|
+
title: "Dogecoin logo",
|
|
145
|
+
filename: "1669211524/dogecoin.svg",
|
|
146
|
+
extension: ".svg",
|
|
147
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669211524/dogecoin.svg",
|
|
148
|
+
width: "72",
|
|
149
|
+
height: "48",
|
|
150
|
+
alt: "Logo image for Dogecoin",
|
|
151
|
+
id: 97757,
|
|
152
|
+
raw_filename: "1669211524/dogecoin"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
id: 47,
|
|
157
|
+
name: "Ethereum",
|
|
158
|
+
iso_code: "ETH",
|
|
159
|
+
symbol: "",
|
|
160
|
+
crypto: 1,
|
|
161
|
+
logo: {
|
|
162
|
+
title: "Ethereum logo",
|
|
163
|
+
filename: "1669211601/ethereum.svg",
|
|
164
|
+
extension: ".svg",
|
|
165
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669211601/ethereum.svg",
|
|
166
|
+
width: "72",
|
|
167
|
+
height: "48",
|
|
168
|
+
alt: "Logo image for Ethereum",
|
|
169
|
+
id: 97759,
|
|
170
|
+
raw_filename: "1669211601/ethereum"
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
id: 90,
|
|
175
|
+
name: "Litecoin",
|
|
176
|
+
iso_code: "LTC",
|
|
177
|
+
symbol: "",
|
|
178
|
+
crypto: 1,
|
|
179
|
+
logo: {
|
|
180
|
+
title: "Litecoin logo",
|
|
181
|
+
filename: "1669211965/litecoin.svg",
|
|
182
|
+
extension: ".svg",
|
|
183
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669211965/litecoin.svg",
|
|
184
|
+
width: "72",
|
|
185
|
+
height: "48",
|
|
186
|
+
alt: "Logo image for Litecoin",
|
|
187
|
+
id: 97763,
|
|
188
|
+
raw_filename: "1669211965/litecoin"
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
id: 163,
|
|
193
|
+
name: "Monero",
|
|
194
|
+
iso_code: "XMR",
|
|
195
|
+
symbol: "",
|
|
196
|
+
crypto: 1,
|
|
197
|
+
logo: {
|
|
198
|
+
title: "Monero logo",
|
|
199
|
+
filename: "1669212001/monero.svg",
|
|
200
|
+
extension: ".svg",
|
|
201
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669212001/monero.svg",
|
|
202
|
+
width: "72",
|
|
203
|
+
height: "48",
|
|
204
|
+
alt: "Logo image for Monero",
|
|
205
|
+
id: 97764,
|
|
206
|
+
raw_filename: "1669212001/monero"
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
id: 166,
|
|
211
|
+
name: "Ripple",
|
|
212
|
+
iso_code: "XRP",
|
|
213
|
+
symbol: "",
|
|
214
|
+
crypto: 1,
|
|
215
|
+
logo: {
|
|
216
|
+
title: "Ripple logo",
|
|
217
|
+
filename: "1669212065/ripple.svg",
|
|
218
|
+
extension: ".svg",
|
|
219
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669212065/ripple.svg",
|
|
220
|
+
width: "72",
|
|
221
|
+
height: "48",
|
|
222
|
+
alt: "Logo image for Ripple",
|
|
223
|
+
id: 97765,
|
|
224
|
+
raw_filename: "1669212065/ripple"
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
id: 171,
|
|
229
|
+
name: "Bitcoin Cash",
|
|
230
|
+
iso_code: "BCH",
|
|
231
|
+
symbol: "",
|
|
232
|
+
crypto: 1,
|
|
233
|
+
logo: {
|
|
234
|
+
title: "Bitcoin cash logo",
|
|
235
|
+
filename: "1669211220/bitcoin-cash.svg",
|
|
236
|
+
extension: ".svg",
|
|
237
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669211220/bitcoin-cash.svg",
|
|
238
|
+
width: "72",
|
|
239
|
+
height: "48",
|
|
240
|
+
alt: "Logo image for Bitcoin Cash",
|
|
241
|
+
id: 97752,
|
|
242
|
+
raw_filename: "1669211220/bitcoin-cash"
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
id: 172,
|
|
247
|
+
name: "Binance",
|
|
248
|
+
iso_code: "BNB",
|
|
249
|
+
symbol: "",
|
|
250
|
+
crypto: 1,
|
|
251
|
+
logo: {
|
|
252
|
+
title: "Binance Logo",
|
|
253
|
+
filename: "1669211148/binance.svg",
|
|
254
|
+
extension: ".svg",
|
|
255
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669211148/binance.svg",
|
|
256
|
+
width: "72",
|
|
257
|
+
height: "48",
|
|
258
|
+
alt: "Logo image for Binance",
|
|
259
|
+
id: 97751,
|
|
260
|
+
raw_filename: "1669211148/binance"
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
id: 175,
|
|
265
|
+
name: "EOS",
|
|
266
|
+
iso_code: "EOS",
|
|
267
|
+
symbol: "",
|
|
268
|
+
crypto: 1,
|
|
269
|
+
logo: {
|
|
270
|
+
title: "Eos logo",
|
|
271
|
+
filename: "1669211562/eos.svg",
|
|
272
|
+
extension: ".svg",
|
|
273
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669211562/eos.svg",
|
|
274
|
+
width: "72",
|
|
275
|
+
height: "48",
|
|
276
|
+
alt: "Logo image for EOS",
|
|
277
|
+
id: 97758,
|
|
278
|
+
raw_filename: "1669211562/eos"
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
id: 176,
|
|
283
|
+
name: "Stellar Lumen",
|
|
284
|
+
iso_code: "XLM",
|
|
285
|
+
symbol: "",
|
|
286
|
+
crypto: 1,
|
|
287
|
+
logo: {
|
|
288
|
+
title: "Stellar logo",
|
|
289
|
+
filename: "1669212157/stellar-xlm.svg",
|
|
290
|
+
extension: ".svg",
|
|
291
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669212157/stellar-xlm.svg",
|
|
292
|
+
width: "72",
|
|
293
|
+
height: "48",
|
|
294
|
+
alt: "Logo image for Stellar",
|
|
295
|
+
id: 97767,
|
|
296
|
+
raw_filename: "1669212157/stellar-xlm"
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
id: 177,
|
|
301
|
+
name: "Tezos",
|
|
302
|
+
iso_code: "XTZ",
|
|
303
|
+
symbol: "XTZ",
|
|
304
|
+
crypto: 1,
|
|
305
|
+
logo: {
|
|
306
|
+
filename: ""
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
id: 178,
|
|
311
|
+
name: "Zcash",
|
|
312
|
+
iso_code: "ZEC",
|
|
313
|
+
symbol: "",
|
|
314
|
+
crypto: 1,
|
|
315
|
+
logo: {
|
|
316
|
+
title: "Zcash logo",
|
|
317
|
+
filename: "1669212341/zcash.svg",
|
|
318
|
+
extension: ".svg",
|
|
319
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669212341/zcash.svg",
|
|
320
|
+
width: "72",
|
|
321
|
+
height: "48",
|
|
322
|
+
alt: "Logo image for Zcash",
|
|
323
|
+
id: 97773,
|
|
324
|
+
raw_filename: "1669212341/zcash"
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
id: 180,
|
|
329
|
+
name: "Cardano",
|
|
330
|
+
iso_code: "ADA",
|
|
331
|
+
symbol: "",
|
|
332
|
+
crypto: 1,
|
|
333
|
+
logo: {
|
|
334
|
+
title: "Cardano logo",
|
|
335
|
+
filename: "1669211355/cardano.svg",
|
|
336
|
+
extension: ".svg",
|
|
337
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669211355/cardano.svg",
|
|
338
|
+
width: "72",
|
|
339
|
+
height: "48",
|
|
340
|
+
alt: "Logo image for Cardano",
|
|
341
|
+
id: 97754,
|
|
342
|
+
raw_filename: "1669211355/cardano"
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
id: 181,
|
|
347
|
+
name: "Basic Attention Token",
|
|
348
|
+
iso_code: "BAT",
|
|
349
|
+
symbol: "",
|
|
350
|
+
crypto: 1,
|
|
351
|
+
logo: {
|
|
352
|
+
title: "Basic attention token logo",
|
|
353
|
+
filename: "1710243057/basic-attention-token-logo.png",
|
|
354
|
+
extension: ".png",
|
|
355
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1710243057/basic-attention-token-logo.png",
|
|
356
|
+
width: "412",
|
|
357
|
+
height: "275",
|
|
358
|
+
alt: "Image for Basic Attention Token",
|
|
359
|
+
color: "#ffffff",
|
|
360
|
+
id: 128981,
|
|
361
|
+
raw_filename: "1710243057/basic-attention-token-logo"
|
|
362
|
+
}
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
id: 184,
|
|
366
|
+
name: "Neo",
|
|
367
|
+
iso_code: "NEO",
|
|
368
|
+
symbol: "",
|
|
369
|
+
crypto: 1,
|
|
370
|
+
logo: {
|
|
371
|
+
title: "Neo logo",
|
|
372
|
+
filename: "1700584848/neo-logo.png",
|
|
373
|
+
extension: ".png",
|
|
374
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1700584848/neo-logo.png",
|
|
375
|
+
width: "412",
|
|
376
|
+
height: "275",
|
|
377
|
+
alt: "Image for neo",
|
|
378
|
+
color: "#ffffff",
|
|
379
|
+
id: 122594,
|
|
380
|
+
raw_filename: "1700584848/neo-logo"
|
|
381
|
+
}
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
id: 185,
|
|
385
|
+
name: "Tether",
|
|
386
|
+
iso_code: "USDT",
|
|
387
|
+
symbol: "",
|
|
388
|
+
crypto: 1,
|
|
389
|
+
logo: {
|
|
390
|
+
title: "Tether logo",
|
|
391
|
+
filename: "1669212197/tether.svg",
|
|
392
|
+
extension: ".svg",
|
|
393
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669212197/tether.svg",
|
|
394
|
+
width: "72",
|
|
395
|
+
height: "48",
|
|
396
|
+
alt: "Logo image for Tether",
|
|
397
|
+
id: 97769,
|
|
398
|
+
raw_filename: "1669212197/tether"
|
|
399
|
+
}
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
id: 190,
|
|
403
|
+
name: "Tron",
|
|
404
|
+
iso_code: "TRX",
|
|
405
|
+
symbol: "",
|
|
406
|
+
crypto: 1,
|
|
407
|
+
logo: {
|
|
408
|
+
title: "Tron logo",
|
|
409
|
+
filename: "1669212229/tron.svg",
|
|
410
|
+
extension: ".svg",
|
|
411
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669212229/tron.svg",
|
|
412
|
+
width: "72",
|
|
413
|
+
height: "48",
|
|
414
|
+
alt: "Logo image for Tron",
|
|
415
|
+
id: 97770,
|
|
416
|
+
raw_filename: "1669212229/tron"
|
|
417
|
+
}
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
id: 193,
|
|
421
|
+
name: "Hive",
|
|
422
|
+
iso_code: "HIVE",
|
|
423
|
+
symbol: "",
|
|
424
|
+
crypto: 1,
|
|
425
|
+
logo: {
|
|
426
|
+
filename: ""
|
|
427
|
+
}
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
id: 194,
|
|
431
|
+
name: "Shiba Inu",
|
|
432
|
+
iso_code: "SHIB",
|
|
433
|
+
symbol: "",
|
|
434
|
+
crypto: 1,
|
|
435
|
+
logo: {
|
|
436
|
+
title: "Shiba inu logo",
|
|
437
|
+
filename: "1669212102/shiba-inu.svg",
|
|
438
|
+
extension: ".svg",
|
|
439
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669212102/shiba-inu.svg",
|
|
440
|
+
width: "72",
|
|
441
|
+
height: "48",
|
|
442
|
+
alt: "Logo image for Shiba Inu",
|
|
443
|
+
id: 97766,
|
|
444
|
+
raw_filename: "1669212102/shiba-inu"
|
|
445
|
+
}
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
id: 196,
|
|
449
|
+
name: "Chainlink",
|
|
450
|
+
iso_code: "Link",
|
|
451
|
+
symbol: "",
|
|
452
|
+
crypto: 1,
|
|
453
|
+
logo: {
|
|
454
|
+
title: "Chainlink logo",
|
|
455
|
+
filename: "1669211406/chainlink-link.svg",
|
|
456
|
+
extension: ".svg",
|
|
457
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669211406/chainlink-link.svg",
|
|
458
|
+
width: "72",
|
|
459
|
+
height: "48",
|
|
460
|
+
alt: "Logo image for Chainlink",
|
|
461
|
+
id: 97755,
|
|
462
|
+
raw_filename: "1669211406/chainlink-link"
|
|
463
|
+
}
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
id: 199,
|
|
467
|
+
name: "Polkadot",
|
|
468
|
+
iso_code: "DOT",
|
|
469
|
+
symbol: "",
|
|
470
|
+
crypto: 1,
|
|
471
|
+
logo: {
|
|
472
|
+
title: "Polkadot logo",
|
|
473
|
+
filename: "1700585330/polkadot-logo.png",
|
|
474
|
+
extension: ".png",
|
|
475
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1700585330/polkadot-logo.png",
|
|
476
|
+
width: "412",
|
|
477
|
+
height: "275",
|
|
478
|
+
alt: "Image for polkadot",
|
|
479
|
+
color: "#ffffff",
|
|
480
|
+
id: 122603,
|
|
481
|
+
raw_filename: "1700585330/polkadot-logo"
|
|
482
|
+
}
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
id: 200,
|
|
486
|
+
name: "Uniswap",
|
|
487
|
+
iso_code: "UNI",
|
|
488
|
+
symbol: "",
|
|
489
|
+
crypto: 1,
|
|
490
|
+
logo: {
|
|
491
|
+
title: "Uniswap logo",
|
|
492
|
+
filename: "1669212265/uniswap.svg",
|
|
493
|
+
extension: ".svg",
|
|
494
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1669212265/uniswap.svg",
|
|
495
|
+
width: "72",
|
|
496
|
+
height: "48",
|
|
497
|
+
alt: "Logo image for Uniswap",
|
|
498
|
+
id: 97771,
|
|
499
|
+
raw_filename: "1669212265/uniswap"
|
|
500
|
+
}
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
id: 201,
|
|
504
|
+
name: "Ethereum Classic",
|
|
505
|
+
iso_code: "ETC",
|
|
506
|
+
symbol: "",
|
|
507
|
+
crypto: 1,
|
|
508
|
+
logo: {
|
|
509
|
+
title: "Ethereum classic logo",
|
|
510
|
+
filename: "1700584730/ethereum-classic-logo.png",
|
|
511
|
+
extension: ".png",
|
|
512
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1700584730/ethereum-classic-logo.png",
|
|
513
|
+
width: "412",
|
|
514
|
+
height: "275",
|
|
515
|
+
alt: "Image for ethereum classic",
|
|
516
|
+
color: "#ffffff",
|
|
517
|
+
id: 122590,
|
|
518
|
+
raw_filename: "1700584730/ethereum-classic-logo"
|
|
519
|
+
}
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
id: 202,
|
|
523
|
+
name: "Sushi",
|
|
524
|
+
iso_code: "SUSH",
|
|
525
|
+
symbol: "",
|
|
526
|
+
crypto: 1,
|
|
527
|
+
logo: {
|
|
528
|
+
title: "Sushiswap sushi (1)",
|
|
529
|
+
filename: "1710243195/sushiswap-sushi-%281%29.png",
|
|
530
|
+
extension: ".png",
|
|
531
|
+
url: "https://assets-srv.s3.eu-west-1.amazonaws.com/1710243195/sushiswap-sushi-%281%29.png",
|
|
532
|
+
width: "412",
|
|
533
|
+
height: "275",
|
|
534
|
+
alt: "Image for Sushi Swap",
|
|
535
|
+
color: "#ffffff",
|
|
536
|
+
id: 128983,
|
|
537
|
+
raw_filename: "1710243195/sushiswap-sushi-%281%29"
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
],
|
|
541
|
+
licences: [
|
|
542
|
+
{
|
|
543
|
+
short_name: "crypto_licences_category_4_crypto_asset_service_provider_casp",
|
|
544
|
+
name: "Category 4 Crypto Asset Service Provider (CASP)",
|
|
545
|
+
id: 1
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
short_name: "crypto_licences_money_service_business_msb",
|
|
549
|
+
name: "Money Service Business (MSB)",
|
|
550
|
+
id: 2
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
short_name: "crypto_licences_financial_intelligence_unit_fiau",
|
|
554
|
+
name: "Financial Intelligence Unit (FIAU)",
|
|
555
|
+
id: 3
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
short_name: "crypto_licences_money_transmitter_license_mtl",
|
|
559
|
+
name: "Money Transmitter License (MTL)",
|
|
560
|
+
id: 4
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
short_name: "crypto_licences_other_state_licenses",
|
|
564
|
+
name: "other state licenses",
|
|
565
|
+
id: 5
|
|
566
|
+
}
|
|
567
|
+
],
|
|
568
|
+
services: [
|
|
569
|
+
{
|
|
570
|
+
name: "Staking",
|
|
571
|
+
short_name: "crypto_services_staking",
|
|
572
|
+
id: 3
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
name: "NFTs",
|
|
576
|
+
short_name: "crypto_services_nfts",
|
|
577
|
+
id: 8
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
name: "Swapping",
|
|
581
|
+
short_name: "crypto_services_swapping",
|
|
582
|
+
id: 16
|
|
583
|
+
},
|
|
584
|
+
{
|
|
585
|
+
name: "Analytics dashboard",
|
|
586
|
+
short_name: "crypto_services_analytics_dashboard",
|
|
587
|
+
id: 17
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
name: "Buy & Sell",
|
|
591
|
+
short_name: "crypto_services_buy__sell",
|
|
592
|
+
id: 20
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
name: "Educational resource",
|
|
596
|
+
short_name: "crypto_services_educational_resource",
|
|
597
|
+
id: 21
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
name: "Online wallet",
|
|
601
|
+
short_name: "crypto_services_online_wallet",
|
|
602
|
+
id: 22
|
|
603
|
+
}
|
|
604
|
+
]
|
|
605
|
+
})
|
|
606
|
+
|
|
65
607
|
export function getCryptoExchangesList({ template, count = 1, id = 1, ...customProps }) {
|
|
66
608
|
const cryptosList = {};
|
|
67
609
|
// eslint-disable-next-line no-plusplus
|