@dcl/content-validator 4.2.4-20230125194827.commit-f90482b → 4.2.4-4135566596.commit-6ae9fb8

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.
Files changed (107) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +5 -5
  4. package/dist/index.js.map +1 -1
  5. package/dist/the-graph-client/the-graph-client.d.ts +1 -5
  6. package/dist/the-graph-client/the-graph-client.d.ts.map +1 -1
  7. package/dist/the-graph-client/the-graph-client.js +83 -49
  8. package/dist/the-graph-client/the-graph-client.js.map +1 -1
  9. package/dist/types.d.ts +22 -45
  10. package/dist/types.d.ts.map +1 -1
  11. package/dist/types.js.map +1 -1
  12. package/dist/validations/ADR45.d.ts +2 -2
  13. package/dist/validations/ADR45.d.ts.map +1 -1
  14. package/dist/validations/ADR45.js +7 -8
  15. package/dist/validations/ADR45.js.map +1 -1
  16. package/dist/validations/ADR51.d.ts +1 -1
  17. package/dist/validations/ADR51.d.ts.map +1 -1
  18. package/dist/validations/access-checker/access.d.ts +2 -2
  19. package/dist/validations/access-checker/access.d.ts.map +1 -1
  20. package/dist/validations/access-checker/access.js +15 -17
  21. package/dist/validations/access-checker/access.js.map +1 -1
  22. package/dist/validations/access-checker/emotes.d.ts +2 -2
  23. package/dist/validations/access-checker/emotes.d.ts.map +1 -1
  24. package/dist/validations/access-checker/emotes.js +7 -8
  25. package/dist/validations/access-checker/emotes.js.map +1 -1
  26. package/dist/validations/access-checker/items/collection-asset.d.ts +2 -2
  27. package/dist/validations/access-checker/items/collection-asset.d.ts.map +1 -1
  28. package/dist/validations/access-checker/items/collection-asset.js +106 -43
  29. package/dist/validations/access-checker/items/collection-asset.js.map +1 -1
  30. package/dist/validations/access-checker/items/items.d.ts +4 -6
  31. package/dist/validations/access-checker/items/items.d.ts.map +1 -1
  32. package/dist/validations/access-checker/items/items.js +23 -24
  33. package/dist/validations/access-checker/items/items.js.map +1 -1
  34. package/dist/validations/access-checker/items/third-party-asset.d.ts.map +1 -1
  35. package/dist/validations/access-checker/items/third-party-asset.js +80 -21
  36. package/dist/validations/access-checker/items/third-party-asset.js.map +1 -1
  37. package/dist/validations/access-checker/profiles.d.ts +6 -6
  38. package/dist/validations/access-checker/profiles.d.ts.map +1 -1
  39. package/dist/validations/access-checker/profiles.js +59 -61
  40. package/dist/validations/access-checker/profiles.js.map +1 -1
  41. package/dist/validations/access-checker/scenes.d.ts +2 -2
  42. package/dist/validations/access-checker/scenes.d.ts.map +1 -1
  43. package/dist/validations/access-checker/scenes.js +243 -34
  44. package/dist/validations/access-checker/scenes.js.map +1 -1
  45. package/dist/validations/access-checker/stores.d.ts +2 -2
  46. package/dist/validations/access-checker/stores.d.ts.map +1 -1
  47. package/dist/validations/access-checker/stores.js +14 -15
  48. package/dist/validations/access-checker/stores.js.map +1 -1
  49. package/dist/validations/access-checker/wearables.d.ts +2 -2
  50. package/dist/validations/access-checker/wearables.d.ts.map +1 -1
  51. package/dist/validations/access-checker/wearables.js +9 -10
  52. package/dist/validations/access-checker/wearables.js.map +1 -1
  53. package/dist/validations/content.d.ts +6 -6
  54. package/dist/validations/content.d.ts.map +1 -1
  55. package/dist/validations/content.js +44 -50
  56. package/dist/validations/content.js.map +1 -1
  57. package/dist/validations/entity-structure.d.ts +2 -2
  58. package/dist/validations/entity-structure.d.ts.map +1 -1
  59. package/dist/validations/entity-structure.js +10 -11
  60. package/dist/validations/entity-structure.js.map +1 -1
  61. package/dist/validations/index.d.ts +9 -4
  62. package/dist/validations/index.d.ts.map +1 -1
  63. package/dist/validations/index.js +7 -7
  64. package/dist/validations/index.js.map +1 -1
  65. package/dist/validations/ipfs-hashing.d.ts +2 -2
  66. package/dist/validations/ipfs-hashing.d.ts.map +1 -1
  67. package/dist/validations/ipfs-hashing.js +8 -10
  68. package/dist/validations/ipfs-hashing.js.map +1 -1
  69. package/dist/validations/items/emotes.d.ts +4 -4
  70. package/dist/validations/items/emotes.d.ts.map +1 -1
  71. package/dist/validations/items/emotes.js +22 -24
  72. package/dist/validations/items/emotes.js.map +1 -1
  73. package/dist/validations/items/items.d.ts +4 -4
  74. package/dist/validations/items/items.d.ts.map +1 -1
  75. package/dist/validations/items/items.js +54 -55
  76. package/dist/validations/items/items.js.map +1 -1
  77. package/dist/validations/items/wearables.d.ts +4 -3
  78. package/dist/validations/items/wearables.d.ts.map +1 -1
  79. package/dist/validations/items/wearables.js +16 -17
  80. package/dist/validations/items/wearables.js.map +1 -1
  81. package/dist/validations/metadata-schema.d.ts +2 -2
  82. package/dist/validations/metadata-schema.d.ts.map +1 -1
  83. package/dist/validations/metadata-schema.js +17 -21
  84. package/dist/validations/metadata-schema.js.map +1 -1
  85. package/dist/validations/profile.d.ts +6 -6
  86. package/dist/validations/profile.d.ts.map +1 -1
  87. package/dist/validations/profile.js +55 -63
  88. package/dist/validations/profile.js.map +1 -1
  89. package/dist/validations/scene.d.ts +3 -3
  90. package/dist/validations/scene.d.ts.map +1 -1
  91. package/dist/validations/scene.js +5 -7
  92. package/dist/validations/scene.js.map +1 -1
  93. package/dist/validations/signature.d.ts +2 -2
  94. package/dist/validations/signature.d.ts.map +1 -1
  95. package/dist/validations/signature.js +6 -8
  96. package/dist/validations/signature.js.map +1 -1
  97. package/dist/validations/size.d.ts +2 -2
  98. package/dist/validations/size.d.ts.map +1 -1
  99. package/dist/validations/size.js +28 -29
  100. package/dist/validations/size.js.map +1 -1
  101. package/dist/validations/validations.d.ts +9 -9
  102. package/dist/validations/validations.d.ts.map +1 -1
  103. package/dist/validations/validations.js +34 -38
  104. package/dist/validations/validations.js.map +1 -1
  105. package/package.json +5 -10
  106. package/dist/content-validator.api.json +0 -1669
  107. package/dist/tsdoc-metadata.json +0 -11
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { ContentValidatorComponents, Validator } from './types';
2
+ export { createTheGraphClient } from './the-graph-client/the-graph-client';
2
3
  export * from './types';
3
4
  export * from './validations';
4
5
  /**
@@ -6,5 +7,4 @@ export * from './validations';
6
7
  * @public
7
8
  */
8
9
  export declare const createValidator: (components: Pick<ContentValidatorComponents, 'config' | 'externalCalls' | 'logs' | 'theGraphClient' | 'subGraphs'>) => Validator;
9
- export { createTheGraphClient } from './the-graph-client/the-graph-client';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAM,SAAS,EAAE,MAAM,SAAS,CAAA;AAGnE,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAE7B;;;GAGG;AACH,eAAO,MAAM,eAAe,eACd,KAAK,0BAA0B,EAAE,QAAQ,GAAG,eAAe,GAAG,MAAM,GAAG,gBAAgB,GAAG,WAAW,CAAC,KACjH,SAeF,CAAA;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAM,SAAS,EAAE,MAAM,SAAS,CAAA;AAGnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAE7B;;;GAGG;AACH,eAAO,MAAM,eAAe,eACd,KAAK,0BAA0B,EAAE,QAAQ,GAAG,eAAe,GAAG,MAAM,GAAG,gBAAgB,GAAG,WAAW,CAAC,KACjH,SAeF,CAAA"}
package/dist/index.js CHANGED
@@ -14,9 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.createTheGraphClient = exports.createValidator = void 0;
17
+ exports.createValidator = exports.createTheGraphClient = void 0;
18
18
  const types_1 = require("./types");
19
19
  const validations_1 = require("./validations");
20
+ var the_graph_client_1 = require("./the-graph-client/the-graph-client");
21
+ Object.defineProperty(exports, "createTheGraphClient", { enumerable: true, get: function () { return the_graph_client_1.createTheGraphClient; } });
20
22
  __exportStar(require("./types"), exports);
21
23
  __exportStar(require("./validations"), exports);
22
24
  /**
@@ -27,8 +29,8 @@ const createValidator = (components) => {
27
29
  const logs = components.logs.getLogger('ContentValidator');
28
30
  return {
29
31
  validate: async (deployment) => {
30
- for (const validation of validations_1.validations) {
31
- const result = await validation.validate(components, deployment);
32
+ for (const validate of validations_1.validateFns) {
33
+ const result = await validate(components, deployment);
32
34
  if (!result.ok) {
33
35
  logs.debug(`Validation failed:\n${result.errors?.join('\n')}`);
34
36
  return result;
@@ -39,6 +41,4 @@ const createValidator = (components) => {
39
41
  };
40
42
  };
41
43
  exports.createValidator = createValidator;
42
- var the_graph_client_1 = require("./the-graph-client/the-graph-client");
43
- Object.defineProperty(exports, "createTheGraphClient", { enumerable: true, get: function () { return the_graph_client_1.createTheGraphClient; } });
44
44
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAAmE;AACnE,+CAA2C;AAE3C,0CAAuB;AACvB,gDAA6B;AAE7B;;;GAGG;AACI,MAAM,eAAe,GAAG,CAC7B,UAAkH,EACvG,EAAE;IACb,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IAE1D,OAAO;QACL,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YAC7B,KAAK,MAAM,UAAU,IAAI,yBAAW,EAAE;gBACpC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;gBAChE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;oBACd,IAAI,CAAC,KAAK,CAAC,uBAAuB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBAC9D,OAAO,MAAM,CAAA;iBACd;aACF;YACD,OAAO,UAAE,CAAA;QACX,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAjBY,QAAA,eAAe,mBAiB3B;AAED,wEAA0E;AAAjE,wHAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAAmE;AACnE,+CAA2C;AAE3C,wEAA0E;AAAjE,wHAAA,oBAAoB,OAAA;AAC7B,0CAAuB;AACvB,gDAA6B;AAE7B;;;GAGG;AACI,MAAM,eAAe,GAAG,CAC7B,UAAkH,EACvG,EAAE;IACb,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IAE1D,OAAO;QACL,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YAC7B,KAAK,MAAM,QAAQ,IAAI,yBAAW,EAAE;gBAClC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;gBACrD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;oBACd,IAAI,CAAC,KAAK,CAAC,uBAAuB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBAC9D,OAAO,MAAM,CAAA;iBACd;aACF;YACD,OAAO,UAAE,CAAA;QACX,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAjBY,QAAA,eAAe,mBAiB3B"}
@@ -1,12 +1,8 @@
1
1
  import { ContentValidatorComponents, TheGraphClient } from '../types';
2
- export type PermissionResult = {
2
+ export declare type PermissionResult = {
3
3
  result: boolean;
4
4
  failing?: string[];
5
5
  };
6
- export declare function timestampBounds(timestampMs: number): {
7
- upper: number;
8
- lower: number;
9
- };
10
6
  /**
11
7
  * @public
12
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"the-graph-client.d.ts","sourceRoot":"","sources":["../../src/the-graph-client/the-graph-client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,0BAA0B,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAGvF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM;;;EAYlD;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,eACnB,KAAK,0BAA0B,EAAE,MAAM,GAAG,WAAW,CAAC,KACjE,cA2MF,CAAA"}
1
+ {"version":3,"file":"the-graph-client.d.ts","sourceRoot":"","sources":["../../src/the-graph-client/the-graph-client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,0BAA0B,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEvF,oBAAY,gBAAgB,GAAG;IAC7B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,eACnB,KAAK,0BAA0B,EAAE,MAAM,GAAG,WAAW,CAAC,KACjE,cAoOF,CAAA"}
@@ -1,20 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTheGraphClient = exports.timestampBounds = void 0;
3
+ exports.createTheGraphClient = void 0;
4
4
  const urn_resolver_1 = require("@dcl/urn-resolver");
5
- function timestampBounds(timestampMs) {
6
- /*
7
- * This mimics original behavior of looking up to 8 seconds after the entity timestamp
8
- * and up to 5 minutes and 7 seconds before
9
- */
10
- const timestampSec = Math.ceil(timestampMs / 1000) + 8;
11
- const timestamp5MinAgo = Math.max(timestampSec - 60 * 5 - 7, 0);
12
- return {
13
- upper: timestampSec,
14
- lower: timestamp5MinAgo
15
- };
16
- }
17
- exports.timestampBounds = timestampBounds;
18
5
  /**
19
6
  * @public
20
7
  */
@@ -26,19 +13,27 @@ const createTheGraphClient = (components) => {
26
13
  if (namesToCheck.length === 0) {
27
14
  return permissionOk();
28
15
  }
29
- const blocks = await findBlocksForTimestamp(timestamp, components.subGraphs.l1BlockSearch);
16
+ const blocks = await findBlocksForTimestamp(components.subGraphs.L1.blocks, timestamp);
30
17
  const hasPermissionOnBlock = async (blockNumber) => {
31
18
  if (!blockNumber) {
32
19
  return permissionError();
33
20
  }
21
+ const runOwnedNamesOnBlockQuery = async (blockNumber) => {
22
+ const query = {
23
+ description: 'check for names ownership',
24
+ subgraph: components.subGraphs.L1.ensOwner,
25
+ query: QUERY_NAMES_FOR_ADDRESS_AT_BLOCK,
26
+ mapper: (response) => new Set(response.names.map(({ name }) => name))
27
+ };
28
+ return runQuery(query, {
29
+ block: blockNumber,
30
+ ethAddress,
31
+ nameList: namesToCheck
32
+ });
33
+ };
34
34
  try {
35
- const result = await components.subGraphs.L1.checker.checkNames(ethAddress, namesToCheck, blockNumber);
36
- const notOwned = [];
37
- for (let i = 0; i < namesToCheck.length; i++) {
38
- if (!result[i]) {
39
- notOwned.push(namesToCheck[i]);
40
- }
41
- }
35
+ const ownedNames = await runOwnedNamesOnBlockQuery(blockNumber);
36
+ const notOwned = namesToCheck.filter((name) => !ownedNames.has(name));
42
37
  return notOwned.length > 0 ? permissionError(notOwned) : permissionOk();
43
38
  }
44
39
  catch {
@@ -46,11 +41,11 @@ const createTheGraphClient = (components) => {
46
41
  return permissionError();
47
42
  }
48
43
  };
49
- const permissionMostRecentBlock = await hasPermissionOnBlock(blocks.blockAtDeployment);
44
+ const permissionMostRecentBlock = await hasPermissionOnBlock(blocks.blockNumberAtDeployment);
50
45
  if (permissionMostRecentBlock.result) {
51
46
  return permissionMostRecentBlock;
52
47
  }
53
- return await hasPermissionOnBlock(blocks.blockFiveMinBeforeDeployment);
48
+ return await hasPermissionOnBlock(blocks.blockNumberFiveMinBeforeDeployment);
54
49
  };
55
50
  const splitItemsByNetwork = async (urnsToCheck) => {
56
51
  const ethereum = [];
@@ -83,8 +78,8 @@ const createTheGraphClient = (components) => {
83
78
  return permissionOk();
84
79
  }
85
80
  const { ethereum, matic } = await splitItemsByNetwork(urnsToCheck);
86
- const ethereumItemsOwnersPromise = ownsItemsAtTimestampInBlockchain(ethAddress, ethereum, timestamp, components.subGraphs.L1.collections, components.subGraphs.l1BlockSearch);
87
- const maticItemsOwnersPromise = ownsItemsAtTimestampInBlockchain(ethAddress, matic, timestamp, components.subGraphs.L2.collections, components.subGraphs.l2BlockSearch);
81
+ const ethereumItemsOwnersPromise = ownsItemsAtTimestampInBlockchain(ethAddress, ethereum, timestamp, components.subGraphs.L1.blocks, components.subGraphs.L1.collections);
82
+ const maticItemsOwnersPromise = ownsItemsAtTimestampInBlockchain(ethAddress, matic, timestamp, components.subGraphs.L2.blocks, components.subGraphs.L2.collections);
88
83
  const [ethereumItemsOwnership, maticItemsOwnership] = await Promise.all([
89
84
  ethereumItemsOwnersPromise,
90
85
  maticItemsOwnersPromise
@@ -95,11 +90,11 @@ const createTheGraphClient = (components) => {
95
90
  return permissionError([...(ethereumItemsOwnership.failing ?? []), ...(maticItemsOwnership.failing ?? [])]);
96
91
  }
97
92
  };
98
- const ownsItemsAtTimestampInBlockchain = async (ethAddress, urnsToCheck, timestamp, collectionsSubgraph, blockSearch) => {
93
+ const ownsItemsAtTimestampInBlockchain = async (ethAddress, urnsToCheck, timestamp, blocksSubgraph, collectionsSubgraph) => {
99
94
  if (urnsToCheck.length === 0) {
100
95
  return permissionOk();
101
96
  }
102
- const blocks = await findBlocksForTimestamp(timestamp, blockSearch);
97
+ const blocks = await findBlocksForTimestamp(blocksSubgraph, timestamp);
103
98
  const hasPermissionOnBlock = async (blockNumber) => {
104
99
  if (!blockNumber) {
105
100
  return permissionError();
@@ -123,39 +118,49 @@ const createTheGraphClient = (components) => {
123
118
  return notOwned.length > 0 ? permissionError(notOwned) : permissionOk();
124
119
  }
125
120
  catch (error) {
126
- logger.error(`Error retrieving items owned by address ${ethAddress} at block ${blocks.blockAtDeployment}`);
121
+ logger.error(`Error retrieving items owned by address ${ethAddress} at block ${blocks.blockNumberAtDeployment}`);
127
122
  return permissionError();
128
123
  }
129
124
  };
130
- const permissionMostRecentBlock = await hasPermissionOnBlock(blocks.blockAtDeployment);
125
+ const permissionMostRecentBlock = await hasPermissionOnBlock(blocks.blockNumberAtDeployment);
131
126
  if (permissionMostRecentBlock.result) {
132
127
  return permissionMostRecentBlock;
133
128
  }
134
- return await hasPermissionOnBlock(blocks.blockFiveMinBeforeDeployment);
129
+ return await hasPermissionOnBlock(blocks.blockNumberFiveMinBeforeDeployment);
135
130
  };
136
131
  const runQuery = async (query, variables) => {
137
132
  const response = await query.subgraph.query(query.query, variables);
138
133
  return query.mapper(response);
139
134
  };
140
- const findBlocksForTimestamp = async (timestamp, blockSearch) => {
141
- const { lower, upper } = timestampBounds(timestamp);
142
- const result = await Promise.all([
143
- blockSearch.findBlockForTimestamp(upper),
144
- blockSearch.findBlockForTimestamp(lower)
145
- ]);
146
- const blockNumberAtDeployment = result[0];
147
- let blockNumberFiveMinBeforeDeployment = result[1];
148
- if (blockNumberFiveMinBeforeDeployment && blockNumberFiveMinBeforeDeployment.timestamp < lower) {
149
- // Mimic the way TheGraph was calculating this
150
- blockNumberFiveMinBeforeDeployment = {
151
- ...blockNumberFiveMinBeforeDeployment,
152
- block: blockNumberFiveMinBeforeDeployment.block + 1
153
- };
154
- }
155
- return {
156
- blockAtDeployment: blockNumberAtDeployment?.block,
157
- blockFiveMinBeforeDeployment: blockNumberFiveMinBeforeDeployment?.block
135
+ const findBlocksForTimestamp = async (subgraph, timestamp) => {
136
+ const query = {
137
+ description: 'fetch blocks for timestamp',
138
+ subgraph: subgraph,
139
+ query: QUERY_BLOCKS_FOR_TIMESTAMP,
140
+ mapper: (response) => {
141
+ const blockNumberAtDeployment = response.max[0]?.number;
142
+ const blockNumberFiveMinBeforeDeployment = response.min[0]?.number;
143
+ if (blockNumberAtDeployment === undefined && blockNumberFiveMinBeforeDeployment === undefined) {
144
+ throw new Error(`Failed to find blocks for the specific timestamp`);
145
+ }
146
+ return {
147
+ blockNumberAtDeployment: !!blockNumberAtDeployment ? parseInt(blockNumberAtDeployment) : undefined,
148
+ blockNumberFiveMinBeforeDeployment: !!blockNumberFiveMinBeforeDeployment
149
+ ? parseInt(blockNumberFiveMinBeforeDeployment)
150
+ : undefined
151
+ };
152
+ }
158
153
  };
154
+ /*
155
+ * This mimics original behavior of looking up to 8 seconds after the entity timestamp
156
+ * and up to 5 minutes and 7 seconds before
157
+ */
158
+ const timestampSec = Math.ceil(timestamp / 1000) + 8;
159
+ const timestamp5MinAgo = timestampSec - 60 * 5 - 7;
160
+ return await runQuery(query, {
161
+ timestamp: timestampSec,
162
+ timestamp5Min: timestamp5MinAgo
163
+ });
159
164
  };
160
165
  return {
161
166
  ownsNamesAtTimestamp,
@@ -164,6 +169,35 @@ const createTheGraphClient = (components) => {
164
169
  };
165
170
  };
166
171
  exports.createTheGraphClient = createTheGraphClient;
172
+ const QUERY_BLOCKS_FOR_TIMESTAMP = `
173
+ query getBlockForTimestampRange($timestamp: Int!, $timestamp5Min: Int!) {
174
+ min: blocks(
175
+ where: {timestamp_gte: $timestamp5Min, timestamp_lte: $timestamp}
176
+ first: 1
177
+ orderBy: timestamp
178
+ orderDirection: desc
179
+ ) {
180
+ number
181
+ }
182
+ max: blocks(
183
+ where: {timestamp_gte: $timestamp5Min, timestamp_lte: $timestamp}
184
+ first: 1
185
+ orderBy: timestamp
186
+ orderDirection: asc
187
+ ) {
188
+ number
189
+ }
190
+ }`;
191
+ const QUERY_NAMES_FOR_ADDRESS_AT_BLOCK = `
192
+ query getNftNamesForBlock($block: Int!, $ethAddress: String!, $nameList: [String!]) {
193
+ names: nfts(
194
+ block: {number: $block}
195
+ where: {owner: $ethAddress, category: ens, name_in: $nameList}
196
+ first: 1000
197
+ ) {
198
+ name
199
+ }
200
+ }`;
167
201
  const QUERY_ITEMS_FOR_ADDRESS_AT_BLOCK = `
168
202
  query getNftItemsForBlock($block: Int!, $ethAddress: String!, $urnList: [String!]) {
169
203
  items: nfts(
@@ -1 +1 @@
1
- {"version":3,"file":"the-graph-client.js","sourceRoot":"","sources":["../../src/the-graph-client/the-graph-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"the-graph-client.js","sourceRoot":"","sources":["../../src/the-graph-client/the-graph-client.ts"],"names":[],"mappings":";;;AACA,oDAA4C;AAS5C;;GAEG;AACI,MAAM,oBAAoB,GAAG,CAClC,UAAkE,EAClD,EAAE;IAClB,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;IAE1D,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC7D,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAEvC,MAAM,oBAAoB,GAAG,KAAK,EAChC,UAAsB,EACtB,YAAsB,EACtB,SAAiB,EACU,EAAE;QAC7B,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,OAAO,YAAY,EAAE,CAAA;SACtB;QAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAEtF,MAAM,oBAAoB,GAAG,KAAK,EAAE,WAA+B,EAA6B,EAAE;YAChG,IAAI,CAAC,WAAW,EAAE;gBAChB,OAAO,eAAe,EAAE,CAAA;aACzB;YAED,MAAM,yBAAyB,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;gBAC9D,MAAM,KAAK,GAAsD;oBAC/D,WAAW,EAAE,2BAA2B;oBACxC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ;oBAC1C,KAAK,EAAE,gCAAgC;oBACvC,MAAM,EAAE,CAAC,QAAuC,EAAe,EAAE,CAC/D,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;iBAClD,CAAA;gBACD,OAAO,QAAQ,CAAC,KAAK,EAAE;oBACrB,KAAK,EAAE,WAAW;oBAClB,UAAU;oBACV,QAAQ,EAAE,YAAY;iBACvB,CAAC,CAAA;YACJ,CAAC,CAAA;YAED,IAAI;gBACF,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAAC,WAAW,CAAC,CAAA;gBAC/D,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;gBACrE,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;aACxE;YAAC,MAAM;gBACN,MAAM,CAAC,KAAK,CAAC,2CAA2C,UAAU,aAAa,WAAW,EAAE,CAAC,CAAA;gBAC7F,OAAO,eAAe,EAAE,CAAA;aACzB;QACH,CAAC,CAAA;QAED,MAAM,yBAAyB,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;QAC5F,IAAI,yBAAyB,CAAC,MAAM,EAAE;YACpC,OAAO,yBAAyB,CAAA;SACjC;QAED,OAAO,MAAM,oBAAoB,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAA;IAC9E,CAAC,CAAA;IAOD,MAAM,mBAAmB,GAAG,KAAK,EAAE,WAAqB,EAA0B,EAAE;QAClF,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAQ,EAAC,GAAG,CAAC,CAAA;YAClC,IACE,MAAM;gBACN,SAAS,IAAI,MAAM;gBACnB,CAAC,gCAAgC,EAAE,gCAAgC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAC1F;gBACA,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;oBACxC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;iBACnB;qBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;oBAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;iBAChB;aACF;SACF;QACD,OAAO;YACL,QAAQ;YACR,KAAK;SACN,CAAA;IACH,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,GAAqB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,MAAM,eAAe,GAAG,CAAC,OAAkB,EAAoB,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,MAAM,oBAAoB,GAAG,KAAK,EAChC,UAAsB,EACtB,WAAqB,EACrB,SAAiB,EACU,EAAE;QAC7B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,OAAO,YAAY,EAAE,CAAA;SACtB;QAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAA;QAClE,MAAM,0BAA0B,GAAG,gCAAgC,CACjE,UAAU,EACV,QAAQ,EACR,SAAS,EACT,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAC9B,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CACpC,CAAA;QACD,MAAM,uBAAuB,GAAG,gCAAgC,CAC9D,UAAU,EACV,KAAK,EACL,SAAS,EACT,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAC9B,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CACpC,CAAA;QAED,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtE,0BAA0B;YAC1B,uBAAuB;SACxB,CAAC,CAAA;QAEF,IAAI,sBAAsB,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM;YAAE,OAAO,YAAY,EAAE,CAAA;aACjF;YACH,OAAO,eAAe,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;SAC5G;IACH,CAAC,CAAA;IAED,MAAM,gCAAgC,GAAG,KAAK,EAC5C,UAAsB,EACtB,WAAqB,EACrB,SAAiB,EACjB,cAAkC,EAClC,mBAAuC,EACZ,EAAE;QAC7B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,OAAO,YAAY,EAAE,CAAA;SACtB;QAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QAEtE,MAAM,oBAAoB,GAAG,KAAK,EAAE,WAA+B,EAA6B,EAAE;YAChG,IAAI,CAAC,WAAW,EAAE;gBAChB,OAAO,eAAe,EAAE,CAAA;aACzB;YAED,MAAM,yBAAyB,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;gBAC9D,MAAM,KAAK,GAAqD;oBAC9D,WAAW,EAAE,2BAA2B;oBACxC,QAAQ,EAAE,mBAAmB;oBAC7B,KAAK,EAAE,gCAAgC;oBACvC,MAAM,EAAE,CAAC,QAAsC,EAAe,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;iBAC/G,CAAA;gBACD,OAAO,QAAQ,CAAC,KAAK,EAAE;oBACrB,KAAK,EAAE,WAAW;oBAClB,UAAU;oBACV,OAAO,EAAE,WAAW;iBACrB,CAAC,CAAA;YACJ,CAAC,CAAA;YAED,IAAI;gBACF,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAAC,WAAW,CAAC,CAAA;gBAC/D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;gBACpE,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;aACxE;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,CAAC,KAAK,CAAC,2CAA2C,UAAU,aAAa,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAA;gBAChH,OAAO,eAAe,EAAE,CAAA;aACzB;QACH,CAAC,CAAA;QAED,MAAM,yBAAyB,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;QAC5F,IAAI,yBAAyB,CAAC,MAAM,EAAE;YACpC,OAAO,yBAAyB,CAAA;SACjC;QAED,OAAO,MAAM,oBAAoB,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAA;IAC9E,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,KAAK,EACpB,KAAqC,EACrC,SAA8B,EACT,EAAE;QACvB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAc,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QAChF,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,MAAM,sBAAsB,GAAG,KAAK,EAAE,QAA4B,EAAE,SAAiB,EAA6B,EAAE;QAClH,MAAM,KAAK,GAMP;YACF,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,0BAA0B;YACjC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACnB,MAAM,uBAAuB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAA;gBACvD,MAAM,kCAAkC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAA;gBAClE,IAAI,uBAAuB,KAAK,SAAS,IAAI,kCAAkC,KAAK,SAAS,EAAE;oBAC7F,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;iBACpE;gBAED,OAAO;oBACL,uBAAuB,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS;oBAClG,kCAAkC,EAAE,CAAC,CAAC,kCAAkC;wBACtE,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;wBAC9C,CAAC,CAAC,SAAS;iBACd,CAAA;YACH,CAAC;SACF,CAAA;QAED;;;WAGG;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QACpD,MAAM,gBAAgB,GAAG,YAAY,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAElD,OAAO,MAAM,QAAQ,CAAC,KAAK,EAAE;YAC3B,SAAS,EAAE,YAAY;YACvB,aAAa,EAAE,gBAAgB;SAChC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO;QACL,oBAAoB;QACpB,oBAAoB;QACpB,sBAAsB;KACvB,CAAA;AACH,CAAC,CAAA;AAtOY,QAAA,oBAAoB,wBAsOhC;AAED,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;EAkBjC,CAAA;AAEF,MAAM,gCAAgC,GAAG;;;;;;;;;EASvC,CAAA;AAEF,MAAM,gCAAgC,GAAG;;;;;;;;;EASvC,CAAA"}
package/dist/types.d.ts CHANGED
@@ -1,34 +1,32 @@
1
- /// <reference types="node" />
2
1
  import { AuthChain, Entity, EthAddress } from '@dcl/schemas';
3
2
  import { IConfigComponent, ILoggerComponent } from '@well-known-components/interfaces';
4
3
  import { ISubgraphComponent, Variables } from '@well-known-components/thegraph-component';
5
4
  import { PermissionResult } from './the-graph-client/the-graph-client';
6
- import { BlockSearch } from '@dcl/block-indexer';
7
5
  /**
8
6
  * @public
9
7
  */
10
- export type LocalDeploymentAuditInfo = {
8
+ export declare type LocalDeploymentAuditInfo = {
11
9
  authChain: AuthChain;
12
10
  };
13
11
  /**
14
12
  * @public
15
13
  */
16
- export type Errors = string[];
14
+ export declare type Errors = string[];
17
15
  /**
18
16
  * @public
19
17
  */
20
- export type Warnings = string[];
18
+ export declare type Warnings = string[];
21
19
  /**
22
20
  * @public
23
21
  */
24
- export type EntityWithEthAddress = Entity & {
22
+ export declare type EntityWithEthAddress = Entity & {
25
23
  ethAddress: string;
26
24
  };
27
25
  /**
28
26
  * Deployment object to be validated by the validator.
29
27
  * @public
30
28
  */
31
- export type DeploymentToValidate = {
29
+ export declare type DeploymentToValidate = {
32
30
  entity: Entity;
33
31
  files: Map<string, Uint8Array>;
34
32
  auditInfo: LocalDeploymentAuditInfo;
@@ -37,12 +35,12 @@ export type DeploymentToValidate = {
37
35
  * Function used to fetch TheGraph
38
36
  * @public
39
37
  */
40
- export type QueryGraph = <T = any>(query: string, variables?: Variables, remainingAttempts?: number) => Promise<T>;
38
+ export declare type QueryGraph = <T = any>(query: string, variables?: Variables, remainingAttempts?: number) => Promise<T>;
41
39
  /**
42
40
  * External calls interface to be provided by the servers.
43
41
  * @public
44
42
  */
45
- export type ExternalCalls = {
43
+ export declare type ExternalCalls = {
46
44
  isContentStoredAlready: (hashes: string[]) => Promise<Map<string, boolean>>;
47
45
  fetchContentFileSize: (hash: string) => Promise<number | undefined>;
48
46
  validateSignature: (entityId: string, auditInfo: LocalDeploymentAuditInfo, timestamp: number) => Promise<{
@@ -62,28 +60,20 @@ export interface Validator {
62
60
  /**
63
61
  * @public
64
62
  */
65
- export type ValidationArgs = {
63
+ export declare type ValidationArgs = {
66
64
  deployment: DeploymentToValidate;
67
65
  };
68
66
  /**
69
67
  * @public
70
68
  */
71
- export type ValidationResponse = {
69
+ export declare type ValidationResponse = {
72
70
  ok: boolean;
73
71
  errors?: Errors;
74
72
  };
75
73
  /**
76
74
  * @public
77
75
  */
78
- export type Validation = {
79
- validate: (components: ContentValidatorComponents, deployment: DeploymentToValidate) => ValidationResponse | Promise<ValidationResponse>;
80
- };
81
- /**
82
- * @public
83
- */
84
- export type ConditionalValidation = {
85
- predicate: (components: ContentValidatorComponents, deployment: DeploymentToValidate) => ValidationResponse | Promise<ValidationResponse>;
86
- };
76
+ export declare type ValidateFn = (components: ContentValidatorComponents, deployment: DeploymentToValidate) => ValidationResponse | Promise<ValidationResponse>;
87
77
  /**
88
78
  * @public
89
79
  */
@@ -96,56 +86,43 @@ export declare const validationFailed: (...error: string[]) => ValidationRespons
96
86
  * @public
97
87
  */
98
88
  export declare const fromErrors: (...errors: Errors) => ValidationResponse;
99
- /**
100
- * @public
101
- */
102
- export type L1Checker = {
103
- checkLAND(ethAddress: string, parcels: [number, number][], block: number): Promise<boolean[]>;
104
- checkNames(ethAddress: string, names: string[], block: number): Promise<boolean[]>;
105
- };
106
- /**
107
- * @public
108
- */
109
- export type L2Checker = {
110
- validateWearables(ethAddress: string, contractAddress: string, assetId: string, hash: string, block: number): Promise<boolean>;
111
- validateThirdParty(ethAddress: string, tpId: string, root: Buffer, block: number): Promise<boolean>;
112
- };
113
89
  /**
114
90
  * A list with all sub-graphs used for validations.
115
91
  * @public
116
92
  */
117
- export type SubGraphs = {
93
+ export declare type SubGraphs = {
118
94
  L1: {
119
- checker: L1Checker;
95
+ landManager: ISubgraphComponent;
96
+ blocks: ISubgraphComponent;
120
97
  collections: ISubgraphComponent;
98
+ ensOwner: ISubgraphComponent;
121
99
  };
122
100
  L2: {
123
- checker: L2Checker;
101
+ blocks: ISubgraphComponent;
124
102
  collections: ISubgraphComponent;
103
+ thirdPartyRegistry: ISubgraphComponent;
125
104
  };
126
- l1BlockSearch: BlockSearch;
127
- l2BlockSearch: BlockSearch;
128
105
  };
129
106
  /**
130
107
  * @public
131
108
  */
132
- export type TheGraphClient = {
109
+ export declare type TheGraphClient = {
133
110
  ownsNamesAtTimestamp: (ethAddress: EthAddress, namesToCheck: string[], timestamp: number) => Promise<PermissionResult>;
134
111
  ownsItemsAtTimestamp: (ethAddress: EthAddress, urnsToCheck: string[], timestamp: number) => Promise<PermissionResult>;
135
- findBlocksForTimestamp: (timestamp: number, blockSearch: BlockSearch) => Promise<BlockInformation>;
112
+ findBlocksForTimestamp: (subgraph: ISubgraphComponent, timestamp: number) => Promise<BlockInformation>;
136
113
  };
137
114
  /**
138
115
  * @public
139
116
  */
140
- export type BlockInformation = {
141
- blockAtDeployment: number | undefined;
142
- blockFiveMinBeforeDeployment: number | undefined;
117
+ export declare type BlockInformation = {
118
+ blockNumberAtDeployment: number | undefined;
119
+ blockNumberFiveMinBeforeDeployment: number | undefined;
143
120
  };
144
121
  /**
145
122
  * Components that can be used to validate deployments.
146
123
  * @public
147
124
  */
148
- export type ContentValidatorComponents = {
125
+ export declare type ContentValidatorComponents = {
149
126
  config: IConfigComponent;
150
127
  logs: ILoggerComponent;
151
128
  theGraphClient: TheGraphClient;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAuGA;;GAEG;AACU,QAAA,EAAE,GAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;AAElD;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAC,GAAG,KAAe,EAAsB,EAAE,CAAC,CAAC;IAC3E,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,KAAK;CACd,CAAC,CAAA;AAHW,QAAA,gBAAgB,oBAG3B;AAEF;;GAEG;AACI,MAAM,UAAU,GAAG,CAAC,GAAG,MAAc,EAAsB,EAAE,CAAC,CAAC;IACpE,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;CAC/C,CAAC,CAAA;AAHW,QAAA,UAAU,cAGrB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA0FA;;GAEG;AACU,QAAA,EAAE,GAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;AAElD;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAC,GAAG,KAAe,EAAsB,EAAE,CAAC,CAAC;IAC3E,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,KAAK;CACd,CAAC,CAAA;AAHW,QAAA,gBAAgB,oBAG3B;AAEF;;GAEG;AACI,MAAM,UAAU,GAAG,CAAC,GAAG,MAAc,EAAsB,EAAE,CAAC,CAAC;IACpE,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;CAC/C,CAAC,CAAA;AAHW,QAAA,UAAU,cAGrB"}
@@ -1,7 +1,7 @@
1
- import { Validation } from '../types';
1
+ import { ContentValidatorComponents, DeploymentToValidate } from '../types';
2
2
  /**
3
3
  * Validate that entity meets ADR-45 validations
4
4
  * @public
5
5
  */
6
- export declare const adr45: Validation;
6
+ export declare function adr45(components: ContentValidatorComponents, deployment: DeploymentToValidate): import("../types").ValidationResponse;
7
7
  //# sourceMappingURL=ADR45.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ADR45.d.ts","sourceRoot":"","sources":["../../src/validations/ADR45.ts"],"names":[],"mappings":"AACA,OAAO,EAAkC,UAAU,EAAoB,MAAM,UAAU,CAAA;AAOvF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,UASnB,CAAA"}
1
+ {"version":3,"file":"ADR45.d.ts","sourceRoot":"","sources":["../../src/validations/ADR45.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAwB,MAAM,UAAU,CAAA;AAOjG;;;GAGG;AACH,wBAAgB,KAAK,CAAC,UAAU,EAAE,0BAA0B,EAAE,UAAU,EAAE,oBAAoB,yCAO7F"}
@@ -9,12 +9,11 @@ const entityWasDeployedAfterADR45 = (entity) => entity.timestamp > timestamps_1.
9
9
  * Validate that entity meets ADR-45 validations
10
10
  * @public
11
11
  */
12
- exports.adr45 = {
13
- validate: async (components, deployment) => {
14
- const { entity } = deployment;
15
- if (entityIsNotVersion3(entity) && entityWasDeployedAfterADR45(entity))
16
- return (0, types_1.validationFailed)('Only entities v3 are allowed after ADR-45');
17
- return types_1.OK;
18
- }
19
- };
12
+ function adr45(components, deployment) {
13
+ const { entity } = deployment;
14
+ if (entityIsNotVersion3(entity) && entityWasDeployedAfterADR45(entity))
15
+ return (0, types_1.validationFailed)('Only entities v3 are allowed after ADR-45');
16
+ return types_1.OK;
17
+ }
18
+ exports.adr45 = adr45;
20
19
  //# sourceMappingURL=ADR45.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ADR45.js","sourceRoot":"","sources":["../../src/validations/ADR45.ts"],"names":[],"mappings":";;;AACA,oCAAuF;AACvF,6CAA+C;AAE/C,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAA;AAEvE,MAAM,2BAA2B,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,GAAG,6BAAgB,CAAA;AAE3F;;;GAGG;AACU,QAAA,KAAK,GAAe;IAC/B,QAAQ,EAAE,KAAK,EAAE,UAAsC,EAAE,UAAU,EAAE,EAAE;QACrE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;QAE7B,IAAI,mBAAmB,CAAC,MAAM,CAAC,IAAI,2BAA2B,CAAC,MAAM,CAAC;YACpE,OAAO,IAAA,wBAAgB,EAAC,2CAA2C,CAAC,CAAA;QAEtE,OAAO,UAAE,CAAA;IACX,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"ADR45.js","sourceRoot":"","sources":["../../src/validations/ADR45.ts"],"names":[],"mappings":";;;AACA,oCAAiG;AACjG,6CAA+C;AAE/C,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAA;AAEvE,MAAM,2BAA2B,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,GAAG,6BAAgB,CAAA;AAE3F;;;GAGG;AACH,SAAgB,KAAK,CAAC,UAAsC,EAAE,UAAgC;IAC5F,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAE7B,IAAI,mBAAmB,CAAC,MAAM,CAAC,IAAI,2BAA2B,CAAC,MAAM,CAAC;QACpE,OAAO,IAAA,wBAAgB,EAAC,2CAA2C,CAAC,CAAA;IAEtE,OAAO,UAAE,CAAA;AACX,CAAC;AAPD,sBAOC"}
@@ -1,5 +1,5 @@
1
1
  import { Emote, EntityType, Profile, Scene, Store, ValidateFunction, Wearable } from '@dcl/schemas';
2
- type Params = {
2
+ declare type Params = {
3
3
  validate: ValidateFunction<Scene | Profile | Wearable | Store | Emote>;
4
4
  maxSizeInMB: number;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ADR51.d.ts","sourceRoot":"","sources":["../../src/validations/ADR51.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEnG,KAAK,MAAM,GAAG;IACZ,QAAQ,EAAE,gBAAgB,CAAC,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,CAAA;IACtE,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAqBvD,CAAA"}
1
+ {"version":3,"file":"ADR51.d.ts","sourceRoot":"","sources":["../../src/validations/ADR51.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEnG,aAAK,MAAM,GAAG;IACZ,QAAQ,EAAE,gBAAgB,CAAC,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,CAAA;IACtE,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAqBvD,CAAA"}
@@ -1,7 +1,7 @@
1
- import { Validation } from '../../types';
1
+ import { ContentValidatorComponents, DeploymentToValidate } from '../../types';
2
2
  /**
3
3
  * Validate that the pointers are valid, and that the Ethereum address has write access to them
4
4
  * @public
5
5
  */
6
- export declare const access: Validation;
6
+ export declare function access(components: ContentValidatorComponents, deployment: DeploymentToValidate): Promise<import("../../types").ValidationResponse>;
7
7
  //# sourceMappingURL=access.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/validations/access-checker/access.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,UAAU,EAAoB,MAAM,aAAa,CAAA;AAgBpF;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,UAqBpB,CAAA"}
1
+ {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/validations/access-checker/access.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAoC,MAAM,aAAa,CAAA;AAgBhH;;;GAGG;AACH,wBAAsB,MAAM,CAAC,UAAU,EAAE,0BAA0B,EAAE,UAAU,EAAE,oBAAoB,qDAkBpG"}
@@ -20,24 +20,22 @@ const accessCheckers = {
20
20
  * Validate that the pointers are valid, and that the Ethereum address has write access to them
21
21
  * @public
22
22
  */
23
- exports.access = {
24
- validate: async (components, deployment) => {
25
- if ((await components.config.getString('IGNORE_BLOCKCHAIN_ACCESS_CHECKS')) === 'true') {
26
- return types_1.OK;
27
- }
28
- const { externalCalls } = components;
29
- const deployedBeforeDCLLaunch = deployment.entity.timestamp <= timestamps_1.LEGACY_CONTENT_MIGRATION_TIMESTAMP;
30
- const address = externalCalls.ownerAddress(deployment.auditInfo);
31
- // Default scenes were removed from the Content Servers after https://github.com/decentraland/catalyst/issues/878
32
- if (isDefaultScene(deployment.entity)) {
33
- return (0, types_1.validationFailed)(`Scene pointers should only contain two integers separated by a comma, for example (10,10) or (120,-45).`);
34
- }
35
- // Legacy entities still need to be synchronized
36
- if (deployedBeforeDCLLaunch && externalCalls.isAddressOwnedByDecentraland(address))
37
- return types_1.OK;
38
- return accessCheckers[deployment.entity.type].validate(components, deployment);
23
+ async function access(components, deployment) {
24
+ if ((await components.config.getString('IGNORE_BLOCKCHAIN_ACCESS_CHECKS')) === 'true') {
25
+ return types_1.OK;
39
26
  }
40
- };
27
+ const deployedBeforeDCLLaunch = deployment.entity.timestamp <= timestamps_1.LEGACY_CONTENT_MIGRATION_TIMESTAMP;
28
+ const address = components.externalCalls.ownerAddress(deployment.auditInfo);
29
+ // Default scenes were removed from the Content Servers after https://github.com/decentraland/catalyst/issues/878
30
+ if (isDefaultScene(deployment.entity)) {
31
+ return (0, types_1.validationFailed)(`Scene pointers should only contain two integers separated by a comma, for example (10,10) or (120,-45).`);
32
+ }
33
+ // Legacy entities still need to be synchronized
34
+ if (deployedBeforeDCLLaunch && components.externalCalls.isAddressOwnedByDecentraland(address))
35
+ return types_1.OK;
36
+ return accessCheckers[deployment.entity.type](components, deployment);
37
+ }
38
+ exports.access = access;
41
39
  function isDefaultScene(entity) {
42
40
  return entity.type === schemas_1.EntityType.SCENE && entity.pointers.some((p) => p.toLowerCase().startsWith('default'));
43
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"access.js","sourceRoot":"","sources":["../../../src/validations/access-checker/access.ts"],"names":[],"mappings":";;;AAAA,0CAAiD;AACjD,uCAAoF;AACpF,8CAAkE;AAClE,qCAAiC;AACjC,yCAAqC;AACrC,qCAAiC;AACjC,qCAAiC;AACjC,2CAAuC;AAEvC,MAAM,cAAc,GAAmC;IACrD,CAAC,oBAAU,CAAC,OAAO,CAAC,EAAE,mBAAQ;IAC9B,CAAC,oBAAU,CAAC,KAAK,CAAC,EAAE,eAAM;IAC1B,CAAC,oBAAU,CAAC,QAAQ,CAAC,EAAE,qBAAS;IAChC,CAAC,oBAAU,CAAC,KAAK,CAAC,EAAE,eAAM;IAC1B,CAAC,oBAAU,CAAC,KAAK,CAAC,EAAE,eAAM;CAC3B,CAAA;AAED;;;GAGG;AACU,QAAA,MAAM,GAAe;IAChC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,UAAgC,EAAE,EAAE;QAC/D,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC,KAAK,MAAM,EAAE;YACrF,OAAO,UAAE,CAAA;SACV;QAED,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,CAAA;QACpC,MAAM,uBAAuB,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,IAAI,+CAAkC,CAAA;QACjG,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAEhE,iHAAiH;QACjH,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YACrC,OAAO,IAAA,wBAAgB,EACrB,yGAAyG,CAC1G,CAAA;SACF;QACD,gDAAgD;QAChD,IAAI,uBAAuB,IAAI,aAAa,CAAC,4BAA4B,CAAC,OAAO,CAAC;YAAE,OAAO,UAAE,CAAA;QAE7F,OAAO,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAChF,CAAC;CACF,CAAA;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,OAAO,MAAM,CAAC,IAAI,KAAK,oBAAU,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;AAC/G,CAAC"}
1
+ {"version":3,"file":"access.js","sourceRoot":"","sources":["../../../src/validations/access-checker/access.ts"],"names":[],"mappings":";;;AAAA,0CAAiD;AACjD,uCAAgH;AAChH,8CAAkE;AAClE,qCAAiC;AACjC,yCAAqC;AACrC,qCAAiC;AACjC,qCAAiC;AACjC,2CAAuC;AAEvC,MAAM,cAAc,GAAmC;IACrD,CAAC,oBAAU,CAAC,OAAO,CAAC,EAAE,mBAAQ;IAC9B,CAAC,oBAAU,CAAC,KAAK,CAAC,EAAE,eAAM;IAC1B,CAAC,oBAAU,CAAC,QAAQ,CAAC,EAAE,qBAAS;IAChC,CAAC,oBAAU,CAAC,KAAK,CAAC,EAAE,eAAM;IAC1B,CAAC,oBAAU,CAAC,KAAK,CAAC,EAAE,eAAM;CAC3B,CAAA;AAED;;;GAGG;AACI,KAAK,UAAU,MAAM,CAAC,UAAsC,EAAE,UAAgC;IACnG,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC,KAAK,MAAM,EAAE;QACrF,OAAO,UAAE,CAAA;KACV;IAED,MAAM,uBAAuB,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,IAAI,+CAAkC,CAAA;IACjG,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IAE3E,iHAAiH;IACjH,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACrC,OAAO,IAAA,wBAAgB,EACrB,yGAAyG,CAC1G,CAAA;KACF;IACD,gDAAgD;IAChD,IAAI,uBAAuB,IAAI,UAAU,CAAC,aAAa,CAAC,4BAA4B,CAAC,OAAO,CAAC;QAAE,OAAO,UAAE,CAAA;IAExG,OAAO,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;AACvE,CAAC;AAlBD,wBAkBC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,OAAO,MAAM,CAAC,IAAI,KAAK,oBAAU,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;AAC/G,CAAC"}