@unchainedshop/plugins 2.8.18 → 2.9.1

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/jest.config.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
2
2
  export default {
3
- preset: 'ts-jest',
3
+ preset: 'ts-jest/presets/default-esm', // or other ESM presets
4
4
  testEnvironment: 'node',
5
5
  extensionsToTreatAsEsm: ['.ts'],
6
6
  transform: {
@@ -12,6 +12,6 @@ export default {
12
12
  ],
13
13
  },
14
14
  moduleNameMapper: {
15
- '(.+)\\.js': '$1',
15
+ '^(\\.{1,2}/.*)\\.js$': '$1',
16
16
  },
17
17
  };
@@ -18,7 +18,7 @@ export const WordlineSaferpay = {
18
18
  ...PaymentAdapter,
19
19
  key: 'shop.unchained.payment.saferpay',
20
20
  label: 'Worldline Saferpay API',
21
- version: '1.40.0',
21
+ version: '1.38.0',
22
22
  typeSupported(type) {
23
23
  return type === 'GENERIC';
24
24
  },
@@ -5,7 +5,7 @@ export class SaferpayClient {
5
5
  specVersion;
6
6
  constructor(baseUrl, customerId, user, password, specVersion) {
7
7
  this.customerId = customerId;
8
- this.specVersion = specVersion || '1.40';
8
+ this.specVersion = specVersion || '1.38';
9
9
  this.conn = new SaferpayConnection(baseUrl, user, password);
10
10
  }
11
11
  buildRequestHeader(requestId, retryIndicator) {
@@ -1,7 +1,7 @@
1
1
  import Stripe from 'stripe';
2
2
  const { STRIPE_SECRET, STRIPE_WEBHOOK_ENVIRONMENT, EMAIL_WEBSITE_NAME } = process.env;
3
3
  const stripe = new Stripe(STRIPE_SECRET, {
4
- apiVersion: '2023-10-16',
4
+ apiVersion: '2024-04-10',
5
5
  });
6
6
  export default stripe;
7
7
  export const createRegistrationIntent = async ({ userId, name, email, paymentProviderId }, options = {}) => {
@@ -20,6 +20,7 @@ export const createRegistrationIntent = async ({ userId, name, email, paymentPro
20
20
  paymentProviderId,
21
21
  environment: STRIPE_WEBHOOK_ENVIRONMENT ?? null,
22
22
  },
23
+ usage: 'off_session',
23
24
  ...options,
24
25
  });
25
26
  return setupIntent;
@@ -1 +1 @@
1
- {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../../src/payment/stripe/stripe.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,EAAE,aAAa,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAEtF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE;IACvC,UAAU,EAAE,YAAY;CACzB,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC;AAEtB,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAC1C,OAAO,GAAG,EAAE,EACZ,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAC7C,QAAQ,EAAE;YACR,MAAM;YACN,WAAW,EAAE,0BAA0B,IAAI,IAAI;SAChD;QACD,IAAI;QACJ,KAAK;KACN,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;QACnD,QAAQ,EAAE,QAAQ,CAAC,EAAE;QACrB,QAAQ,EAAE;YACR,MAAM;YACN,iBAAiB;YACjB,WAAW,EAAE,0BAA0B,IAAI,IAAI;SAChD;QACD,GAAG,OAAO;KACX,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;IAC/F,MAAM,SAAS,GAAG,kBAAkB,IAAI,KAAK,CAAC,GAAG,CAAC;IAClD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;QACvD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1B,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE;QAChC,WAAW,EAAE,GAAG,SAAS,KAAK,KAAK,CAAC,WAAW,EAAE;QACjD,oBAAoB,EAAE,KAAK,CAAC,WAAW;QACvC,2BAA2B,EAAE,SAAS;QACtC,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY;QAC1C,kBAAkB,EAAE,aAAa,EAAE,oEAAoE;QACvG,QAAQ,EAAE;YACR,cAAc,EAAE,YAAY,CAAC,GAAG;YAChC,WAAW,EAAE,0BAA0B,IAAI,IAAI;SAChD;QACD,GAAG,OAAO;KACX,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../../src/payment/stripe/stripe.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,EAAE,aAAa,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAEtF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE;IACvC,UAAU,EAAE,YAAY;CACzB,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC;AAEtB,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAC1C,OAAO,GAAG,EAAE,EACZ,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAC7C,QAAQ,EAAE;YACR,MAAM;YACN,WAAW,EAAE,0BAA0B,IAAI,IAAI;SAChD;QACD,IAAI;QACJ,KAAK;KACN,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;QACnD,QAAQ,EAAE,QAAQ,CAAC,EAAE;QACrB,QAAQ,EAAE;YACR,MAAM;YACN,iBAAiB;YACjB,WAAW,EAAE,0BAA0B,IAAI,IAAI;SAChD;QACD,KAAK,EAAE,aAAa;QACpB,GAAG,OAAO;KACX,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;IAC/F,MAAM,SAAS,GAAG,kBAAkB,IAAI,KAAK,CAAC,GAAG,CAAC;IAClD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;QACvD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1B,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE;QAChC,WAAW,EAAE,GAAG,SAAS,KAAK,KAAK,CAAC,WAAW,EAAE;QACjD,oBAAoB,EAAE,KAAK,CAAC,WAAW;QACvC,2BAA2B,EAAE,SAAS;QACtC,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY;QAC1C,kBAAkB,EAAE,aAAa,EAAE,oEAAoE;QACvG,QAAQ,EAAE;YACR,cAAc,EAAE,YAAY,CAAC,GAAG;YAChC,WAAW,EAAE,0BAA0B,IAAI,IAAI;SAChD;QACD,GAAG,OAAO;KACX,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { WarehousingDirector, WarehousingAdapter, WarehousingProviderType, } from '@unchainedshop/core-warehousing';
2
- import { generateDbObjectId } from '@unchainedshop/mongodb';
3
- import { ProductType, ProductContractStandard } from '@unchainedshop/types/products.js';
2
+ import { ProductContractStandard, ProductType } from '@unchainedshop/types/products.js';
4
3
  import { systemLocale } from '@unchainedshop/utils';
4
+ import { generateDbObjectId } from '@unchainedshop/mongodb';
5
5
  const { MINTER_TOKEN_OFFSET = '0' } = process.env;
6
6
  const ETHMinter = {
7
7
  ...WarehousingAdapter,
@@ -15,12 +15,13 @@ const ETHMinter = {
15
15
  },
16
16
  actions: (configuration, context) => {
17
17
  const { product, orderPosition, token, modules, locale } = context;
18
+ const { contractAddress, contractStandard, tokenId, supply, ercMetadataProperties } = product?.tokenization || {};
18
19
  const getTokensCreated = async () => {
19
- const existingTokens = await modules.warehousing.findTokens(product.tokenization.contractStandard === ProductContractStandard.ERC721
20
- ? { contractAddress: product.tokenization.contractAddress }
20
+ const existingTokens = await modules.warehousing.findTokens(contractStandard === ProductContractStandard.ERC721
21
+ ? { contractAddress: contractStandard }
21
22
  : {
22
- contractAddress: product.tokenization.contractAddress,
23
- chainTokenId: product.tokenization.tokenId,
23
+ contractAddress: contractStandard,
24
+ chainTokenId: tokenId,
24
25
  });
25
26
  const tokensCreated = existingTokens.reduce((acc, curToken) => {
26
27
  return acc + curToken.quantity;
@@ -37,32 +38,31 @@ const ETHMinter = {
37
38
  },
38
39
  stock: async () => {
39
40
  const tokensCreated = await getTokensCreated();
40
- return product?.tokenization?.supply ? product.tokenization.supply - tokensCreated : 0;
41
+ return supply ? supply - tokensCreated : 0;
41
42
  },
42
43
  tokenize: async () => {
43
44
  // Upload Image to IPFS
44
45
  // Upload Metadata to IPFS
45
46
  // Prepare metadata
46
47
  const chainId = configuration.find(({ key }) => key === 'chainId')?.value || undefined;
47
- const { contractAddress, contractStandard, tokenId } = product?.tokenization || {};
48
- const _id = generateDbObjectId();
49
48
  const meta = { contractStandard };
50
49
  const tokensCreated = await getTokensCreated();
51
50
  if (contractStandard === 'ERC721') {
52
- // ERC721 is non-fungible, thus every _id unique!
53
- return new Array(orderPosition?.quantity).fill(null).map((_, i) => ({
54
- _id,
51
+ // ERC721 is non-fungible, thus every chainTokenId unique!
52
+ const items = new Array(orderPosition?.quantity).fill(null).map((_, i) => ({
53
+ _id: generateDbObjectId(),
55
54
  chainTokenId: Number(parseInt(MINTER_TOKEN_OFFSET, 10) + tokensCreated + (i + 1)).toString(),
56
55
  contractAddress,
57
56
  quantity: 1,
58
57
  chainId,
59
58
  meta,
60
59
  }));
60
+ return items;
61
61
  }
62
62
  // ERC1155 is fungible, allow the same tokenId
63
63
  return [
64
64
  {
65
- _id,
65
+ _id: generateDbObjectId(),
66
66
  chainTokenId: tokenId,
67
67
  contractAddress,
68
68
  quantity: orderPosition?.quantity,
@@ -92,7 +92,7 @@ const ETHMinter = {
92
92
  const isDefaultLanguageActive = locale ? locale?.language === systemLocale.language : true;
93
93
  const localization = isDefaultLanguageActive
94
94
  ? {
95
- uri: `${process.env.ROOT_URL}/erc-metadata/${product._id}/{locale}/${product.tokenization.tokenId}.json`,
95
+ uri: `${process.env.ROOT_URL}/erc-metadata/${product._id}/{locale}/${tokenId}.json`,
96
96
  default: systemLocale.language,
97
97
  locales: allLanguages.map((lang) => lang.isoCode),
98
98
  }
@@ -101,7 +101,7 @@ const ETHMinter = {
101
101
  name,
102
102
  description: text.description,
103
103
  image: url,
104
- properties: product.tokenization.ercMetadataProperties,
104
+ properties: ercMetadataProperties,
105
105
  localization,
106
106
  ...(token?.meta || {}),
107
107
  };
@@ -1 +1 @@
1
- {"version":3,"file":"eth-minter.js","sourceRoot":"","sources":["../../src/warehousing/eth-minter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eth-minter.js","sourceRoot":"","sources":["../../src/warehousing/eth-minter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/plugins",
3
- "version": "2.8.18",
3
+ "version": "2.9.1",
4
4
  "main": "lib/plugins-index.js",
5
5
  "types": "lib/plugins-index.d.ts",
6
6
  "exports": {
@@ -80,43 +80,43 @@
80
80
  "lru-cache": "^10.0.0",
81
81
  "open": "^10.0.0",
82
82
  "postfinancecheckout": "^4.1.1",
83
- "stripe": "^14.25.0",
83
+ "stripe": "15.7",
84
84
  "tiny-secp256k1": "^2.2.3",
85
- "twilio": "^5.0.4",
85
+ "twilio": "^5.1.0",
86
86
  "web-push": "^3.6.3"
87
87
  },
88
88
  "devDependencies": {
89
- "@redis/client": "^1.5.14",
89
+ "@redis/client": "^1.5.16",
90
90
  "@types/node": "^20.12.12",
91
- "@unchainedshop/api": "^2.8.18",
92
- "@unchainedshop/core-delivery": "^2.8.18",
93
- "@unchainedshop/core-enrollments": "^2.8.18",
94
- "@unchainedshop/core-filters": "^2.8.18",
95
- "@unchainedshop/core-messaging": "^2.8.18",
96
- "@unchainedshop/core-orders": "^2.8.18",
97
- "@unchainedshop/core-payment": "^2.8.18",
98
- "@unchainedshop/core-products": "^2.8.18",
99
- "@unchainedshop/core-quotations": "^2.8.18",
100
- "@unchainedshop/core-warehousing": "^2.8.18",
101
- "@unchainedshop/core-worker": "^2.8.18",
102
- "@unchainedshop/events": "^2.8.18",
103
- "@unchainedshop/file-upload": "^2.8.18",
104
- "@unchainedshop/logger": "^2.8.18",
105
- "@unchainedshop/types": "^2.8.18",
106
- "@unchainedshop/utils": "^2.8.18",
91
+ "@unchainedshop/api": "^2.9.1",
92
+ "@unchainedshop/core-delivery": "^2.9.1",
93
+ "@unchainedshop/core-enrollments": "^2.9.1",
94
+ "@unchainedshop/core-filters": "^2.9.1",
95
+ "@unchainedshop/core-messaging": "^2.9.1",
96
+ "@unchainedshop/core-orders": "^2.9.1",
97
+ "@unchainedshop/core-payment": "^2.9.1",
98
+ "@unchainedshop/core-products": "^2.9.1",
99
+ "@unchainedshop/core-quotations": "^2.9.1",
100
+ "@unchainedshop/core-warehousing": "^2.9.1",
101
+ "@unchainedshop/core-worker": "^2.9.1",
102
+ "@unchainedshop/events": "^2.9.1",
103
+ "@unchainedshop/file-upload": "^2.9.1",
104
+ "@unchainedshop/logger": "^2.9.1",
105
+ "@unchainedshop/types": "^2.9.1",
106
+ "@unchainedshop/utils": "^2.9.1",
107
107
  "bluebird": "^3.7.2",
108
108
  "event-iterator": "^2.0.0",
109
109
  "express": "^4.19.2",
110
110
  "jest": "^29.7.0",
111
111
  "JSONStream": "^1.3.5",
112
112
  "lru-cache": "^10.2.2",
113
- "minio": "^7.1.4",
113
+ "minio": "^8.0.0",
114
114
  "node-sheets": "^1.2.0",
115
115
  "nodemailer": "^6.9.13",
116
116
  "open": "^10.1.0",
117
117
  "postfinancecheckout": "^4.5.0",
118
118
  "request": "^2.88.2",
119
- "ts-jest": "^29.1.2",
119
+ "ts-jest": "^29.1.3",
120
120
  "typescript": "^5.4.5",
121
121
  "web-push": "^3.6.7",
122
122
  "xml-js": "^1.6.11"
@@ -36,7 +36,7 @@ export const WordlineSaferpay: IPaymentAdapter = {
36
36
 
37
37
  key: 'shop.unchained.payment.saferpay',
38
38
  label: 'Worldline Saferpay API',
39
- version: '1.40.0',
39
+ version: '1.38.0',
40
40
 
41
41
  typeSupported(type) {
42
42
  return type === 'GENERIC';
@@ -24,7 +24,7 @@ export class SaferpayClient {
24
24
  specVersion?: string,
25
25
  ) {
26
26
  this.customerId = customerId;
27
- this.specVersion = specVersion || '1.40';
27
+ this.specVersion = specVersion || '1.38';
28
28
  this.conn = new SaferpayConnection(baseUrl, user, password);
29
29
  }
30
30
 
@@ -3,7 +3,7 @@ import Stripe from 'stripe';
3
3
  const { STRIPE_SECRET, STRIPE_WEBHOOK_ENVIRONMENT, EMAIL_WEBSITE_NAME } = process.env;
4
4
 
5
5
  const stripe = new Stripe(STRIPE_SECRET, {
6
- apiVersion: '2023-10-16',
6
+ apiVersion: '2024-04-10',
7
7
  });
8
8
 
9
9
  export default stripe;
@@ -27,6 +27,7 @@ export const createRegistrationIntent = async (
27
27
  paymentProviderId,
28
28
  environment: STRIPE_WEBHOOK_ENVIRONMENT ?? null,
29
29
  },
30
+ usage: 'off_session',
30
31
  ...options,
31
32
  });
32
33
  return setupIntent;
@@ -3,10 +3,15 @@ import {
3
3
  WarehousingAdapter,
4
4
  WarehousingProviderType,
5
5
  } from '@unchainedshop/core-warehousing';
6
- import { generateDbObjectId } from '@unchainedshop/mongodb';
7
- import { ProductType, ProductContractStandard } from '@unchainedshop/types/products.js';
8
- import { IWarehousingAdapter, WarehousingError } from '@unchainedshop/types/warehousing.js';
6
+ import { ProductContractStandard, ProductType } from '@unchainedshop/types/products.js';
7
+ import {
8
+ IWarehousingAdapter,
9
+ WarehousingContext,
10
+ WarehousingError,
11
+ } from '@unchainedshop/types/warehousing.js';
9
12
  import { systemLocale } from '@unchainedshop/utils';
13
+ import { generateDbObjectId } from '@unchainedshop/mongodb';
14
+ import { Context } from '@unchainedshop/types/api.js';
10
15
 
11
16
  const { MINTER_TOKEN_OFFSET = '0' } = process.env;
12
17
 
@@ -25,15 +30,17 @@ const ETHMinter: IWarehousingAdapter = {
25
30
  },
26
31
 
27
32
  actions: (configuration, context) => {
28
- const { product, orderPosition, token, modules, locale } = context;
33
+ const { product, orderPosition, token, modules, locale } = context as WarehousingContext & Context;
34
+ const { contractAddress, contractStandard, tokenId, supply, ercMetadataProperties } =
35
+ product?.tokenization || {};
29
36
 
30
37
  const getTokensCreated = async () => {
31
38
  const existingTokens = await modules.warehousing.findTokens(
32
- product.tokenization.contractStandard === ProductContractStandard.ERC721
33
- ? { contractAddress: product.tokenization.contractAddress }
39
+ contractStandard === ProductContractStandard.ERC721
40
+ ? { contractAddress: contractStandard }
34
41
  : {
35
- contractAddress: product.tokenization.contractAddress,
36
- chainTokenId: product.tokenization.tokenId,
42
+ contractAddress: contractStandard,
43
+ chainTokenId: tokenId,
37
44
  },
38
45
  );
39
46
  const tokensCreated = existingTokens.reduce((acc, curToken) => {
@@ -55,7 +62,7 @@ const ETHMinter: IWarehousingAdapter = {
55
62
 
56
63
  stock: async () => {
57
64
  const tokensCreated = await getTokensCreated();
58
- return product?.tokenization?.supply ? product.tokenization.supply - tokensCreated : 0;
65
+ return supply ? supply - tokensCreated : 0;
59
66
  },
60
67
 
61
68
  tokenize: async () => {
@@ -64,26 +71,25 @@ const ETHMinter: IWarehousingAdapter = {
64
71
  // Prepare metadata
65
72
 
66
73
  const chainId = configuration.find(({ key }) => key === 'chainId')?.value || undefined;
67
- const { contractAddress, contractStandard, tokenId } = product?.tokenization || {};
68
- const _id = generateDbObjectId();
69
74
  const meta = { contractStandard };
70
75
  const tokensCreated = await getTokensCreated();
71
76
 
72
77
  if (contractStandard === 'ERC721') {
73
- // ERC721 is non-fungible, thus every _id unique!
74
- return new Array(orderPosition?.quantity).fill(null).map((_, i) => ({
75
- _id,
78
+ // ERC721 is non-fungible, thus every chainTokenId unique!
79
+ const items = new Array(orderPosition?.quantity).fill(null).map((_, i) => ({
80
+ _id: generateDbObjectId(),
76
81
  chainTokenId: Number(parseInt(MINTER_TOKEN_OFFSET, 10) + tokensCreated + (i + 1)).toString(),
77
82
  contractAddress,
78
83
  quantity: 1,
79
84
  chainId,
80
85
  meta,
81
86
  }));
87
+ return items;
82
88
  }
83
89
  // ERC1155 is fungible, allow the same tokenId
84
90
  return [
85
91
  {
86
- _id,
92
+ _id: generateDbObjectId(),
87
93
  chainTokenId: tokenId,
88
94
  contractAddress,
89
95
  quantity: orderPosition?.quantity,
@@ -118,7 +124,7 @@ const ETHMinter: IWarehousingAdapter = {
118
124
  const isDefaultLanguageActive = locale ? locale?.language === systemLocale.language : true;
119
125
  const localization = isDefaultLanguageActive
120
126
  ? {
121
- uri: `${process.env.ROOT_URL}/erc-metadata/${product._id}/{locale}/${product.tokenization.tokenId}.json`,
127
+ uri: `${process.env.ROOT_URL}/erc-metadata/${product._id}/{locale}/${tokenId}.json`,
122
128
  default: systemLocale.language,
123
129
  locales: allLanguages.map((lang) => lang.isoCode),
124
130
  }
@@ -128,7 +134,7 @@ const ETHMinter: IWarehousingAdapter = {
128
134
  name,
129
135
  description: text.description,
130
136
  image: url,
131
- properties: product.tokenization.ercMetadataProperties,
137
+ properties: ercMetadataProperties,
132
138
  localization,
133
139
  ...(token?.meta || {}),
134
140
  };