@eluvio/elv-client-js 3.1.63 → 3.1.67

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.
@@ -0,0 +1,203 @@
1
+ const imageTypes = ["gif", "jpg", "jpeg", "png", "svg", "webp"];
2
+ const currencyOptions = [...new Set(Object.values(require("country-codes-list").customList("countryNameEn", "{currencyCode}")))].filter(c => c).sort();
3
+
4
+ const MarketplaceSpec = {
5
+ "profile": {
6
+ "name": "Eluvio LIVE Marketplace",
7
+ "version": "0.1",
8
+ },
9
+ "manageApp": "default",
10
+ "hide_image_tab": true,
11
+ "asset_types": [
12
+ "primary"
13
+ ],
14
+ "title_types": [
15
+ "marketplace"
16
+ ],
17
+ "controls": [],
18
+ "associated_assets": [],
19
+ "info_fields": [
20
+ {
21
+ "name": "tenant_id",
22
+ "label": "Tenant ID",
23
+ "type": "Text"
24
+ },
25
+ {
26
+ "label": "Eluvio LIVE Tenant",
27
+ "name": "tenant",
28
+ "type": "fabric_link",
29
+ "hash_only": true,
30
+ "no_localize": true
31
+ },
32
+ {
33
+ "name": "name",
34
+ "type": "text",
35
+ },
36
+ {
37
+ "name": "description",
38
+ "type": "textarea",
39
+ },
40
+ {
41
+ "fields": [
42
+ {
43
+ "extensions": imageTypes,
44
+ "name": "logo",
45
+ "type": "file"
46
+ },
47
+ {
48
+ "extensions": imageTypes,
49
+ "name": "image",
50
+ "type": "file"
51
+ }
52
+ ],
53
+ "name": "images",
54
+ "type": "subsection"
55
+ },
56
+ {
57
+ "name": "events",
58
+ "type": "list",
59
+ "no_localize": true,
60
+ "fields": [{
61
+ "name": "event",
62
+ "type": "fabric_link"
63
+ }]
64
+ },
65
+ {
66
+ "name": "payment_currencies",
67
+ "type": "multiselect",
68
+ "no_localize": true,
69
+ "hint": "List of accepted currencies",
70
+ "default_value": ["USD"],
71
+ "options": currencyOptions
72
+ },
73
+ {
74
+ "fields": [
75
+ {
76
+ "label": "SKU",
77
+ "name": "sku",
78
+ "type": "uuid"
79
+ },
80
+ {
81
+ "name": "type",
82
+ "type": "select",
83
+ "options": [
84
+ "nft",
85
+ "ticket",
86
+ "other"
87
+ ]
88
+ },
89
+ {
90
+ "name": "name",
91
+ "type": "text"
92
+ },
93
+ {
94
+ "name": "description",
95
+ "type": "textarea"
96
+ },
97
+ {
98
+ "extensions": imageTypes,
99
+ "name": "image",
100
+ "type": "file",
101
+ "hint": "For type 'nft', the image from the NFT template will be used if this field is not specified"
102
+ },
103
+ {
104
+ "name": "for_sale",
105
+ "type": "checkbox",
106
+ "default_value": true
107
+ },
108
+ {
109
+ "name": "requires_permissions",
110
+ "type": "checkbox",
111
+ "default_value": false,
112
+ "hint": "If checked, users must have special permissions to the NFT template in order to view and buy the NFT in the marketplace"
113
+ },
114
+ {
115
+ "name": "max_per_user",
116
+ "label": "Purchase Limit",
117
+ "type": "integer"
118
+ },
119
+ {
120
+ "name": "price",
121
+ "type": "reference_subsection",
122
+ "no_localize": true,
123
+ "reference": "/payment_currencies",
124
+ "value_type": "number",
125
+ "hint": "Available price currencies are based on the 'Payment Currencies' field above",
126
+ },
127
+ {
128
+ "name": "tags",
129
+ "type": "list"
130
+ },
131
+ {
132
+ "label": "NFT Template",
133
+ "name": "nft_template",
134
+ "type": "fabric_link",
135
+ "hint": "For type 'nft' only",
136
+ "no_localize": true,
137
+ "version": true,
138
+ "video_preview": true
139
+ }
140
+ ],
141
+ "name": "items",
142
+ "type": "list"
143
+ },
144
+ {
145
+ "name": "storefront",
146
+ "type": "subsection",
147
+ "fields": [
148
+ {
149
+ "name": "header",
150
+ "type": "text"
151
+ },
152
+ {
153
+ "name": "subheader",
154
+ "type": "text"
155
+ },
156
+ {
157
+ "name": "sections",
158
+ "type": "list",
159
+ "fields": [
160
+ {
161
+ "name": "section_header",
162
+ "type": "text"
163
+ },
164
+ {
165
+ "name": "section_subheader",
166
+ "type": "text"
167
+ },
168
+ {
169
+ "name": "items",
170
+ "type": "reference_multiselect",
171
+ "reference": "/items",
172
+ "label_key": "name",
173
+ "value_key": "sku"
174
+ }
175
+ ]
176
+ },
177
+ ]
178
+ },
179
+ {
180
+ "name": "collections",
181
+ "type": "list",
182
+ "fields": [
183
+ {
184
+ "name": "collection_header",
185
+ "type": "text"
186
+ },
187
+ {
188
+ "name": "collection_subheader",
189
+ "type": "text"
190
+ },
191
+ {
192
+ "name": "items",
193
+ "type": "reference_multiselect",
194
+ "reference": "/items",
195
+ "label_key": "name",
196
+ "value_key": "sku"
197
+ }
198
+ ]
199
+ }
200
+ ]
201
+ };
202
+
203
+ module.exports = MarketplaceSpec;
@@ -0,0 +1,69 @@
1
+ const imageTypes = ["gif", "jpg", "jpeg", "png", "svg", "webp"];
2
+
3
+ const NFTCollectionSpec = {
4
+ "profile": {
5
+ "name": "NFT Collection",
6
+ "version": "0.2",
7
+ },
8
+ "manageApp": "default",
9
+ "hide_image_tab": true,
10
+ "asset_types": [
11
+ "primary"
12
+ ],
13
+ "title_types": [
14
+ "collection"
15
+ ],
16
+ "controls": [],
17
+ "associated_assets": [],
18
+ "info_fields": [
19
+ {
20
+ "name": "name",
21
+ "type": "text",
22
+ },
23
+ {
24
+ "name": "description",
25
+ "type": "text",
26
+ },
27
+ {
28
+ "extensions": imageTypes,
29
+ "name": "image",
30
+ "type": "file"
31
+ },
32
+ {
33
+ "name": "nfts",
34
+ "label": "NFTs",
35
+ "type": "list",
36
+ "fields": [
37
+ {
38
+ "label": "NFT Template",
39
+ "name": "nft_template",
40
+ "type": "fabric_link",
41
+ "no_localize": true,
42
+ "version": true
43
+ },
44
+ {
45
+ "name": "placeholder",
46
+ "type": "subsection",
47
+ "hint": "These fields will be used for display if the user does not yet have access to the NFT",
48
+ "fields": [
49
+ {
50
+ "name": "name",
51
+ "type": "text"
52
+ },
53
+ {
54
+ "name": "description",
55
+ "type": "text"
56
+ },
57
+ {
58
+ "name": "image",
59
+ "type": "file",
60
+ "extensions": imageTypes,
61
+ }
62
+ ]
63
+ }
64
+ ]
65
+ }
66
+ ]
67
+ };
68
+
69
+ module.exports = NFTCollectionSpec;
@@ -0,0 +1,269 @@
1
+ const imageTypes = ["gif", "jpg", "jpeg", "png", "svg", "webp"];
2
+
3
+ const NFTTemplateSpec = {
4
+ "profile": {
5
+ "name": "NFT Template",
6
+ "version": "0.1",
7
+ },
8
+ "playable": true,
9
+ "display_app": "default",
10
+ "manage_app": "default",
11
+ "hide_image_tab": true,
12
+ "associate_permissions": false,
13
+ "associated_assets": [],
14
+ "controls": [],
15
+ "asset_types": [
16
+ "primary"
17
+ ],
18
+ "title_types": [
19
+ "nft_template"
20
+ ],
21
+ "default_image_keys": [],
22
+ "info_fields": [
23
+ {
24
+ "name": "permission",
25
+ "type": "metadata_link",
26
+ "default_value": "/permissioned",
27
+ "readonly": true
28
+ },
29
+ {
30
+ "name": "mint_private",
31
+ "label": "Minting Info (Private)",
32
+ "type": "subsection",
33
+ "path": "/permissioned",
34
+ "fields": [
35
+ {
36
+ "name": "address",
37
+ "type": "text"
38
+ }
39
+ ]
40
+ },
41
+ {
42
+ "name": "mint",
43
+ "label": "Minting Info",
44
+ "type": "subsection",
45
+ "top_level": true,
46
+ "fields": [
47
+ {
48
+ "name": "merge_meta",
49
+ "label": "Merge Metadata",
50
+ "type": "json"
51
+ },
52
+ {
53
+ "name": "token_template",
54
+ "label": "Token ID Template",
55
+ "type": "text"
56
+ },
57
+ {
58
+ "name": "cauth_id",
59
+ "label": "Mint Key ID",
60
+ "type": "text"
61
+ },
62
+ {
63
+ "name": "fauth_id",
64
+ "label": "Fabric Key ID",
65
+ "type": "text"
66
+ },
67
+ ]
68
+ },
69
+ {
70
+ "name": "nft",
71
+ "label": "NFT Details",
72
+ "type": "subsection",
73
+ "top_level": true,
74
+ "fields": [
75
+ {
76
+ "name": "template_id",
77
+ "label": "Template ID",
78
+ "type": "uuid"
79
+ },
80
+ {
81
+ "name": "name",
82
+ "type": "text"
83
+ },
84
+ {
85
+ "name": "display_name",
86
+ "type": "text"
87
+ },
88
+ {
89
+ "name": "description",
90
+ "type": "textarea"
91
+ },
92
+ {
93
+ "name": "address",
94
+ "label": "NFT Contract Address",
95
+ "type": "text"
96
+ },
97
+ {
98
+ "name": "edition_name",
99
+ "type": "text"
100
+ },
101
+ {
102
+ "name": "total_supply",
103
+ "type": "integer"
104
+ },
105
+ {
106
+ "name": "creator",
107
+ "type": "text"
108
+ },
109
+ {
110
+ "name": "copyright",
111
+ "type": "text"
112
+ },
113
+ {
114
+ "name": "created_at",
115
+ "type": "datetime"
116
+ },
117
+ {
118
+ "extensions": imageTypes,
119
+ "name": "image",
120
+ "type": "file_url",
121
+ "hint": "Square image recommended"
122
+ },
123
+ {
124
+ "name": "playable",
125
+ "type": "checkbox",
126
+ "default_value": true
127
+ },
128
+ {
129
+ "name": "token_uri",
130
+ "label": "Token URI",
131
+ "type": "self_metadata_url",
132
+ "path": "public/asset_metadata/nft"
133
+ },
134
+ {
135
+ "name": "embed_url",
136
+ "label": "Embed URL",
137
+ "type": "self_embed_url",
138
+ "version": true,
139
+ "auto_update": true
140
+ },
141
+ {
142
+ "name": "external_url",
143
+ "label": "External URL",
144
+ "type": "self_embed_url",
145
+ "version": true,
146
+ "auto_update": true
147
+ },
148
+ {
149
+ "name": "background_color",
150
+ "type": "color"
151
+ },
152
+ {
153
+ "name": "enable_watermark",
154
+ "type": "checkbox",
155
+ },
156
+ {
157
+ "name": "marketplace_attributes",
158
+ "type": "subsection",
159
+ "fields": [
160
+ {
161
+ "name": "opensea",
162
+ "label": "OpenSea",
163
+ "type": "subsection",
164
+ "fields": [
165
+ {
166
+ "name": "youtube_url",
167
+ "type": "self_embed_url",
168
+ "version": true,
169
+ "auto_update": true
170
+ }
171
+ ]
172
+ },
173
+ {
174
+ "name": "Eluvio",
175
+ "type": "subsection",
176
+ "fields": [
177
+ {
178
+ "name": "marketplace_id",
179
+ "label": "Marketplace ID",
180
+ "type": "text"
181
+ },
182
+ {
183
+ "name": "sku",
184
+ "label": "SKU",
185
+ "type": "text"
186
+ }
187
+ ]
188
+ }
189
+ ]
190
+ },
191
+ {
192
+ "name": "attributes",
193
+ "label": "Custom Attributes",
194
+ "type": "list",
195
+ "fields": [
196
+ {
197
+ "name": "name",
198
+ "type": "text"
199
+ },
200
+ {
201
+ "name": "type",
202
+ "type": "select",
203
+ "default_value": "text",
204
+ "options": [
205
+ "checkbox",
206
+ "color",
207
+ "datetime",
208
+ "fabric_link",
209
+ "file",
210
+ "file_url",
211
+ "integer",
212
+ "json",
213
+ "number",
214
+ "text",
215
+ "textarea",
216
+ "uuid"
217
+ ]
218
+ },
219
+ {
220
+ "name": "value",
221
+ "type": "reference_type",
222
+ "reference": "./type"
223
+ }
224
+ ]
225
+ },
226
+ {
227
+ "name": "pack_options",
228
+ "type": "subsection",
229
+ "fields": [
230
+ {
231
+ "name": "is_openable",
232
+ "type": "checkbox"
233
+ },
234
+ {
235
+ "name": "open_animation",
236
+ "type": "fabric_link",
237
+ "video_preview": true
238
+ },
239
+ {
240
+ "name": "item_slots",
241
+ "type": "list",
242
+ "fields": [
243
+ {
244
+ "name": "possible_items",
245
+ "type": "list",
246
+ "fields": [
247
+ {
248
+ "name": "nft",
249
+ "label": "NFT Template or Collection",
250
+ "type": "fabric_link"
251
+ },
252
+ {
253
+ "name": "probability",
254
+ "type": "integer",
255
+ "hint": "Integer percentage from 0 to 100",
256
+ "default_value": 100
257
+ }
258
+ ]
259
+ }
260
+ ]
261
+ }
262
+ ]
263
+ }
264
+ ]
265
+ }
266
+ ]
267
+ };
268
+
269
+ module.exports = NFTTemplateSpec;