@dcl/content-validator 5.2.1-9716169795.commit-20a4b3d → 5.3.0

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/dist/utils.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /// <reference types="node" />
2
+ import { BlockchainCollectionThirdParty } from '@dcl/urn-resolver';
1
3
  type URNsByNetwork = {
2
4
  ethereum: {
3
5
  urn: string;
@@ -9,5 +11,7 @@ type URNsByNetwork = {
9
11
  }[];
10
12
  };
11
13
  export declare function splitItemsURNsByNetwork(urnsToSplit: string[]): Promise<URNsByNetwork>;
14
+ export declare function getThirdPartyId(urn: BlockchainCollectionThirdParty): string;
15
+ export declare function toHexBuffer(value: string): Buffer;
12
16
  export {};
13
17
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACvC,CAAA;AASD,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CA0B3F"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,8BAA8B,EAAY,MAAM,mBAAmB,CAAA;AAG5E,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACvC,CAAA;AASD,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CA0B3F;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,8BAA8B,GAAG,MAAM,CAE3E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKjD"}
package/dist/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.splitItemsURNsByNetwork = void 0;
3
+ exports.toHexBuffer = exports.getThirdPartyId = exports.splitItemsURNsByNetwork = void 0;
4
4
  const urn_resolver_1 = require("@dcl/urn-resolver");
5
5
  const types_1 = require("./types");
6
6
  const ITEM_TYPES_TO_SPLIT = [
@@ -35,4 +35,15 @@ async function splitItemsURNsByNetwork(urnsToSplit) {
35
35
  };
36
36
  }
37
37
  exports.splitItemsURNsByNetwork = splitItemsURNsByNetwork;
38
+ function getThirdPartyId(urn) {
39
+ return `urn:decentraland:${urn.network}:collections-thirdparty:${urn.thirdPartyName}`;
40
+ }
41
+ exports.getThirdPartyId = getThirdPartyId;
42
+ function toHexBuffer(value) {
43
+ if (value.startsWith('0x')) {
44
+ return Buffer.from(value.substring(2), 'hex'); // removing first 2 characters (0x)
45
+ }
46
+ return Buffer.from(value, 'hex');
47
+ }
48
+ exports.toHexBuffer = toHexBuffer;
38
49
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,oDAA4C;AAC5C,mCAAkD;AAOlD,MAAM,mBAAmB,GAAG;IAC1B,gCAAgC;IAChC,+BAA+B;IAC/B,gCAAgC;IAChC,+BAA+B;CAChC,CAAA;AAEM,KAAK,UAAU,uBAAuB,CAAC,WAAqB;IACjE,MAAM,QAAQ,GAAoC,EAAE,CAAA;IACpD,MAAM,KAAK,GAAoC,EAAE,CAAA;IACjD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;QAC7B,kCAAkC;QAClC,iFAAiF;QACjF,IACE,CAAC,CAAC,GAAG,mBAAW,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtE,CAAC,mBAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EACrD;YACA,SAAQ;SACT;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAQ,EAAC,GAAG,CAAC,CAAA;QAClC,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,IAAI,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC9E,IAAI,mBAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;aAC1C;iBAAM,IAAI,mBAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;aACvC;SACF;KACF;IACD,OAAO;QACL,QAAQ;QACR,KAAK;KACN,CAAA;AACH,CAAC;AA1BD,0DA0BC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,oDAA4E;AAC5E,mCAAkD;AAOlD,MAAM,mBAAmB,GAAG;IAC1B,gCAAgC;IAChC,+BAA+B;IAC/B,gCAAgC;IAChC,+BAA+B;CAChC,CAAA;AAEM,KAAK,UAAU,uBAAuB,CAAC,WAAqB;IACjE,MAAM,QAAQ,GAAoC,EAAE,CAAA;IACpD,MAAM,KAAK,GAAoC,EAAE,CAAA;IACjD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;QAC7B,kCAAkC;QAClC,iFAAiF;QACjF,IACE,CAAC,CAAC,GAAG,mBAAW,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtE,CAAC,mBAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EACrD;YACA,SAAQ;SACT;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAQ,EAAC,GAAG,CAAC,CAAA;QAClC,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,IAAI,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC9E,IAAI,mBAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;aAC1C;iBAAM,IAAI,mBAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;aACvC;SACF;KACF;IACD,OAAO;QACL,QAAQ;QACR,KAAK;KACN,CAAA;AACH,CAAC;AA1BD,0DA0BC;AAED,SAAgB,eAAe,CAAC,GAAmC;IACjE,OAAO,oBAAoB,GAAG,CAAC,OAAO,2BAA2B,GAAG,CAAC,cAAc,EAAE,CAAA;AACvF,CAAC;AAFD,0CAEC;AAED,SAAgB,WAAW,CAAC,KAAa;IACvC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA,CAAC,mCAAmC;KAClF;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAClC,CAAC;AALD,kCAKC"}
@@ -1 +1 @@
1
- {"version":3,"file":"third-party-asset.d.ts","sourceRoot":"","sources":["../../../../src/validations/access/on-chain/third-party-asset.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,8BAA8B,EAC9B,yBAAyB,EAE1B,MAAM,gBAAgB,CAAA;AAavB,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,IAAI,CAAC,8BAA8B,EAAE,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC,GAC3F,yBAAyB,CA4C3B"}
1
+ {"version":3,"file":"third-party-asset.d.ts","sourceRoot":"","sources":["../../../../src/validations/access/on-chain/third-party-asset.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,8BAA8B,EAC9B,yBAAyB,EAE1B,MAAM,gBAAgB,CAAA;AAGvB,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,IAAI,CAAC,8BAA8B,EAAE,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC,GAC3F,yBAAyB,CA4C3B"}
@@ -4,15 +4,7 @@ exports.createThirdPartyAssetValidateFn = void 0;
4
4
  const content_hash_tree_1 = require("@dcl/content-hash-tree");
5
5
  const schemas_1 = require("@dcl/schemas");
6
6
  const types_1 = require("../../../types");
7
- function toHexBuffer(value) {
8
- if (value.startsWith('0x')) {
9
- return Buffer.from(value.substring(2), 'hex'); // removing first 2 characters (0x)
10
- }
11
- return Buffer.from(value, 'hex');
12
- }
13
- function getThirdPartyId(urn) {
14
- return `urn:decentraland:${urn.network}:collections-thirdparty:${urn.thirdPartyName}`;
15
- }
7
+ const utils_1 = require("../../../utils");
16
8
  function createThirdPartyAssetValidateFn(components) {
17
9
  return async function validateFn(asset, deployment) {
18
10
  const logger = components.logs.getLogger('third-party-asset-validation');
@@ -23,8 +15,8 @@ function createThirdPartyAssetValidateFn(components) {
23
15
  // This should always happen as the metadata validation ran before
24
16
  const metadata = deployment.entity.metadata;
25
17
  const merkleProof = metadata.merkleProof;
26
- const thirdPartyId = getThirdPartyId(asset);
27
- const bufferedProofs = merkleProof.proof.map((value) => toHexBuffer(value));
18
+ const thirdPartyId = (0, utils_1.getThirdPartyId)(asset);
19
+ const bufferedProofs = merkleProof.proof.map((value) => (0, utils_1.toHexBuffer)(value));
28
20
  const root = (0, content_hash_tree_1.generateRoot)(merkleProof.index, merkleProof.entityHash, bufferedProofs);
29
21
  const { blockNumberAtDeployment, blockNumberFiveMinBeforeDeployment } = await components.client.findBlocksForTimestamp(timestamp, components.L2.blockSearch);
30
22
  const validateThirdParty = async (block) => {
@@ -1 +1 @@
1
- {"version":3,"file":"third-party-asset.js","sourceRoot":"","sources":["../../../../src/validations/access/on-chain/third-party-asset.ts"],"names":[],"mappings":";;;AAAA,8DAAqD;AACrD,0CAA4D;AAE5D,0CAMuB;AAEvB,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA,CAAC,mCAAmC;KAClF;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAClC,CAAC;AAED,SAAS,eAAe,CAAC,GAAmC;IAC1D,OAAO,oBAAoB,GAAG,CAAC,OAAO,2BAA2B,GAAG,CAAC,cAAc,EAAE,CAAA;AACvF,CAAC;AAED,SAAgB,+BAA+B,CAC7C,UAA4F;IAE5F,OAAO,KAAK,UAAU,UAAU,CAAC,KAAqC,EAAE,UAAgC;QACtG,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAA;QACxE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,CAAA;QAEjC,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,MAAM,CAAA;QACvC,IAAI,QAAQ,GAAG,KAAK,CAAA;QAEpB,IAAI,IAAA,sBAAY,EAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YAC5C,kEAAkE;YAClE,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,QAA2B,CAAA;YAC9D,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAA;YAExC,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;YAE3C,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;YAC3E,MAAM,IAAI,GAAG,IAAA,gCAAY,EAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;YAEpF,MAAM,EAAE,uBAAuB,EAAE,kCAAkC,EAAE,GACnE,MAAM,UAAU,CAAC,MAAM,CAAC,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;YAEtF,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;gBACjD,IAAI;oBACF,OAAO,MAAM,OAAO,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;iBACnE;gBAAC,OAAO,GAAQ,EAAE;oBACjB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAChB,OAAO,KAAK,CAAA;iBACb;YACH,CAAC,CAAA;YAED,IAAI,uBAAuB,EAAE;gBAC3B,QAAQ,GAAG,MAAM,kBAAkB,CAAC,uBAAuB,CAAC,CAAA;aAC7D;YAED,IAAI,CAAC,QAAQ,IAAI,kCAAkC,EAAE;gBACnD,QAAQ,GAAG,MAAM,kBAAkB,CAAC,kCAAkC,CAAC,CAAA;aACxE;SACF;QAED,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,IAAA,wBAAgB,EAAC,uCAAuC,CAAC,CAAA;SACjE;QACD,OAAO,UAAE,CAAA;IACX,CAAC,CAAA;AACH,CAAC;AA9CD,0EA8CC"}
1
+ {"version":3,"file":"third-party-asset.js","sourceRoot":"","sources":["../../../../src/validations/access/on-chain/third-party-asset.ts"],"names":[],"mappings":";;;AAAA,8DAAqD;AACrD,0CAA4D;AAE5D,0CAMuB;AACvB,0CAA6D;AAE7D,SAAgB,+BAA+B,CAC7C,UAA4F;IAE5F,OAAO,KAAK,UAAU,UAAU,CAAC,KAAqC,EAAE,UAAgC;QACtG,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAA;QACxE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,CAAA;QAEjC,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,MAAM,CAAA;QACvC,IAAI,QAAQ,GAAG,KAAK,CAAA;QAEpB,IAAI,IAAA,sBAAY,EAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YAC5C,kEAAkE;YAClE,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,QAA2B,CAAA;YAC9D,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAA;YAExC,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,KAAK,CAAC,CAAA;YAE3C,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC,CAAA;YAC3E,MAAM,IAAI,GAAG,IAAA,gCAAY,EAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;YAEpF,MAAM,EAAE,uBAAuB,EAAE,kCAAkC,EAAE,GACnE,MAAM,UAAU,CAAC,MAAM,CAAC,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;YAEtF,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;gBACjD,IAAI;oBACF,OAAO,MAAM,OAAO,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;iBACnE;gBAAC,OAAO,GAAQ,EAAE;oBACjB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAChB,OAAO,KAAK,CAAA;iBACb;YACH,CAAC,CAAA;YAED,IAAI,uBAAuB,EAAE;gBAC3B,QAAQ,GAAG,MAAM,kBAAkB,CAAC,uBAAuB,CAAC,CAAA;aAC7D;YAED,IAAI,CAAC,QAAQ,IAAI,kCAAkC,EAAE;gBACnD,QAAQ,GAAG,MAAM,kBAAkB,CAAC,kCAAkC,CAAC,CAAA;aACxE;SACF;QAED,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,IAAA,wBAAgB,EAAC,uCAAuC,CAAC,CAAA;SACjE;QACD,OAAO,UAAE,CAAA;IACX,CAAC,CAAA;AACH,CAAC;AA9CD,0EA8CC"}
@@ -1 +1 @@
1
- {"version":3,"file":"third-party-asset.d.ts","sourceRoot":"","sources":["../../../../src/validations/access/subgraph/third-party-asset.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,+BAA+B,EAC/B,yBAAyB,EAE1B,MAAM,gBAAgB,CAAA;AAiHvB,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,IAAI,CAAC,+BAA+B,EAAE,eAAe,GAAG,MAAM,GAAG,gBAAgB,GAAG,WAAW,CAAC,GAC3G,yBAAyB,CAU3B"}
1
+ {"version":3,"file":"third-party-asset.d.ts","sourceRoot":"","sources":["../../../../src/validations/access/subgraph/third-party-asset.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,+BAA+B,EAC/B,yBAAyB,EAE1B,MAAM,gBAAgB,CAAA;AAuGvB,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,IAAI,CAAC,+BAA+B,EAAE,eAAe,GAAG,MAAM,GAAG,gBAAgB,GAAG,WAAW,CAAC,GAC3G,yBAAyB,CAU3B"}
@@ -5,15 +5,7 @@ const content_hash_tree_1 = require("@dcl/content-hash-tree");
5
5
  const hashing_1 = require("@dcl/hashing");
6
6
  const schemas_1 = require("@dcl/schemas");
7
7
  const types_1 = require("../../../types");
8
- function toHexBuffer(value) {
9
- if (value.startsWith('0x')) {
10
- return Buffer.from(value.substring(2), 'hex'); // removing first 2 characters (0x)
11
- }
12
- return Buffer.from(value, 'hex');
13
- }
14
- function getThirdPartyId(urn) {
15
- return `urn:decentraland:${urn.network}:collections-thirdparty:${urn.thirdPartyName}`;
16
- }
8
+ const utils_1 = require("../../../utils");
17
9
  async function verifyHash(metadata, merkleRoot, logger) {
18
10
  if (!schemas_1.MerkleProof.validate(metadata.merkleProof)) {
19
11
  logger.debug('Merkle proof is not valid', {
@@ -32,8 +24,8 @@ async function verifyHash(metadata, merkleRoot, logger) {
32
24
  return false;
33
25
  }
34
26
  // Verify if the entity belongs to the Merkle Tree.
35
- const bufferedProofs = merkleProof.proof.map((value) => toHexBuffer(value));
36
- const bufferedMerkleRoot = toHexBuffer(merkleRoot);
27
+ const bufferedProofs = merkleProof.proof.map((value) => (0, utils_1.toHexBuffer)(value));
28
+ const bufferedMerkleRoot = (0, utils_1.toHexBuffer)(merkleRoot);
37
29
  return (0, content_hash_tree_1.verifyProof)(merkleProof.index, merkleProof.entityHash, bufferedProofs, bufferedMerkleRoot);
38
30
  }
39
31
  async function getMerkleRoot(components, block, thirdPartyId) {
@@ -58,7 +50,7 @@ async function verifyMerkleProofedEntity(components, urn, deployment, logger) {
58
50
  // This should never happen as the metadata validation ran before
59
51
  return false;
60
52
  }
61
- const thirdPartyId = getThirdPartyId(urn);
53
+ const thirdPartyId = (0, utils_1.getThirdPartyId)(urn);
62
54
  const { blockNumberAtDeployment, blockNumberFiveMinBeforeDeployment } = await components.theGraphClient.findBlocksForTimestamp(components.subGraphs.L2.blocks, deployment.entity.timestamp);
63
55
  const merkleRoots = [];
64
56
  const hasPermissionOnBlock = async (blockNumber) => {
@@ -1 +1 @@
1
- {"version":3,"file":"third-party-asset.js","sourceRoot":"","sources":["../../../../src/validations/access/subgraph/third-party-asset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"third-party-asset.js","sourceRoot":"","sources":["../../../../src/validations/access/subgraph/third-party-asset.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,10 @@ import { DeploymentToValidate } from '../..';
2
2
  import { ValidationResponse } from '../../types';
3
3
  /** Validate wearable representations are referencing valid content */
4
4
  export declare function wearableRepresentationContentValidateFn(deployment: DeploymentToValidate): Promise<ValidationResponse>;
5
+ export declare function thirdPartyWearableMerkleProofContentValidateFn(deployment: DeploymentToValidate): Promise<ValidationResponse>;
5
6
  /**
6
7
  * Validate that given wearable deployment includes the thumbnail and doesn't exceed file sizes
7
- * * @public
8
+ * @public
8
9
  */
9
10
  export declare const wearableValidateFn: import("../..").ValidateFn;
10
11
  //# sourceMappingURL=wearables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wearables.d.ts","sourceRoot":"","sources":["../../../src/validations/items/wearables.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAwB,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGtE,sEAAsE;AACtE,wBAAsB,uCAAuC,CAC3D,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CAe7B;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,4BAAsF,CAAA"}
1
+ {"version":3,"file":"wearables.d.ts","sourceRoot":"","sources":["../../../src/validations/items/wearables.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAwB,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAItE,sEAAsE;AACtE,wBAAsB,uCAAuC,CAC3D,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CAe7B;AAED,wBAAsB,8CAA8C,CAClE,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CAwC7B;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,4BAG9B,CAAA"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wearableValidateFn = exports.wearableRepresentationContentValidateFn = void 0;
3
+ exports.wearableValidateFn = exports.thirdPartyWearableMerkleProofContentValidateFn = exports.wearableRepresentationContentValidateFn = void 0;
4
4
  const schemas_1 = require("@dcl/schemas");
5
5
  const types_1 = require("../../types");
6
6
  const validations_1 = require("../validations");
7
+ const hashing_1 = require("@dcl/hashing");
7
8
  /** Validate wearable representations are referencing valid content */
8
9
  async function wearableRepresentationContentValidateFn(deployment) {
9
10
  const { entity } = deployment;
@@ -23,9 +24,42 @@ async function wearableRepresentationContentValidateFn(deployment) {
23
24
  return types_1.OK;
24
25
  }
25
26
  exports.wearableRepresentationContentValidateFn = wearableRepresentationContentValidateFn;
27
+ async function thirdPartyWearableMerkleProofContentValidateFn(deployment) {
28
+ const { entity } = deployment;
29
+ if (!(0, schemas_1.isThirdParty)(entity.metadata)) {
30
+ return types_1.OK;
31
+ }
32
+ const wearableMetadata = entity.metadata;
33
+ // Check the id in the metadata matches the pointer being deployed
34
+ if (wearableMetadata.id !== entity.pointers[0]) {
35
+ return (0, types_1.validationFailed)(`The id '${wearableMetadata.id}' does not match the pointer '${entity.pointers[0]}'`);
36
+ }
37
+ // Check the content files declared inside the metadata is exactly the same as the files uploaded with the entity
38
+ const allContentInFiles = Object.keys(wearableMetadata.content).every((content) => {
39
+ const contentFile = entity.content.find((file) => file.file === content);
40
+ if (!contentFile) {
41
+ return false;
42
+ }
43
+ return contentFile.hash === wearableMetadata.content[content];
44
+ });
45
+ const allFilesInContent = entity.content.every((content) => {
46
+ return wearableMetadata.content[content.file] === content.hash;
47
+ });
48
+ if (!allContentInFiles || !allFilesInContent) {
49
+ return (0, types_1.validationFailed)('The content declared in the metadata does not match the files uploaded with the entity');
50
+ }
51
+ // Re-create the entity hash and check it matches the one provided in the metadata
52
+ const merkleProof = wearableMetadata.merkleProof;
53
+ const entityHash = (0, hashing_1.keccak256Hash)(wearableMetadata, merkleProof.hashingKeys);
54
+ if (entityHash !== merkleProof.entityHash) {
55
+ return (0, types_1.validationFailed)(`The entity hash provided '${merkleProof.entityHash}' is different to the one calculated from the metadata '${entityHash}'`);
56
+ }
57
+ return types_1.OK;
58
+ }
59
+ exports.thirdPartyWearableMerkleProofContentValidateFn = thirdPartyWearableMerkleProofContentValidateFn;
26
60
  /**
27
61
  * Validate that given wearable deployment includes the thumbnail and doesn't exceed file sizes
28
- * * @public
62
+ * @public
29
63
  */
30
- exports.wearableValidateFn = (0, validations_1.validateIfTypeMatches)(schemas_1.EntityType.WEARABLE, wearableRepresentationContentValidateFn);
64
+ exports.wearableValidateFn = (0, validations_1.validateIfTypeMatches)(schemas_1.EntityType.WEARABLE, (0, validations_1.validateAll)(wearableRepresentationContentValidateFn, thirdPartyWearableMerkleProofContentValidateFn));
31
65
  //# sourceMappingURL=wearables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wearables.js","sourceRoot":"","sources":["../../../src/validations/items/wearables.ts"],"names":[],"mappings":";;;AAAA,0CAAmD;AAEnD,uCAAsE;AACtE,gDAAsD;AAEtD,sEAAsE;AAC/D,KAAK,UAAU,uCAAuC,CAC3D,UAAgC;IAEhC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAC7B,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAoB,CAAA;IACpD,MAAM,eAAe,GAAG,gBAAgB,EAAE,IAAI,EAAE,eAAe,CAAA;IAC/D,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAA,wBAAgB,EAAC,mCAAmC,CAAC,CAAA;IAClH,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAA,wBAAgB,EAAC,kBAAkB,CAAC,CAAA;IAE/F,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;QAC5C,KAAK,MAAM,qBAAqB,IAAI,cAAc,CAAC,QAAQ,EAAE;YAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,qBAAqB,CAAC,EAAE;gBAC7E,OAAO,IAAA,wBAAgB,EAAC,4BAA4B,qBAAqB,mCAAmC,CAAC,CAAA;aAC9G;SACF;KACF;IACD,OAAO,UAAE,CAAA;AACX,CAAC;AAjBD,0FAiBC;AAED;;;GAGG;AACU,QAAA,kBAAkB,GAAG,IAAA,mCAAqB,EAAC,oBAAU,CAAC,QAAQ,EAAE,uCAAuC,CAAC,CAAA"}
1
+ {"version":3,"file":"wearables.js","sourceRoot":"","sources":["../../../src/validations/items/wearables.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dcl/content-validator",
3
- "version": "5.2.1-9716169795.commit-20a4b3d",
3
+ "version": "5.3.0",
4
4
  "description": "Catalyst content validations",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -53,5 +53,5 @@
53
53
  "files": [
54
54
  "dist"
55
55
  ],
56
- "commit": "20a4b3d8c3d5c709c118bd2002d6e6f42f9f1f7c"
56
+ "commit": "5ea1ac534fa13793c0724e43910b9ee4e15d9127"
57
57
  }