@dcl/content-validator 4.3.0 → 4.3.1-4304792003.commit-3da518e
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/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +9 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/validations/ADR45.d.ts +2 -2
- package/dist/validations/ADR45.d.ts.map +1 -1
- package/dist/validations/ADR45.js +3 -3
- package/dist/validations/ADR45.js.map +1 -1
- package/dist/validations/content.d.ts +6 -10
- package/dist/validations/content.d.ts.map +1 -1
- package/dist/validations/content.js +29 -24
- package/dist/validations/content.js.map +1 -1
- package/dist/validations/entity-structure.d.ts +2 -2
- package/dist/validations/entity-structure.d.ts.map +1 -1
- package/dist/validations/entity-structure.js +3 -3
- package/dist/validations/entity-structure.js.map +1 -1
- package/dist/validations/index.d.ts +2 -21
- package/dist/validations/index.d.ts.map +1 -1
- package/dist/validations/index.js +20 -18
- package/dist/validations/index.js.map +1 -1
- package/dist/validations/ipfs-hashing.d.ts +1 -2
- package/dist/validations/ipfs-hashing.d.ts.map +1 -1
- package/dist/validations/ipfs-hashing.js +2 -2
- package/dist/validations/ipfs-hashing.js.map +1 -1
- package/dist/validations/items/emotes.d.ts +4 -4
- package/dist/validations/items/emotes.d.ts.map +1 -1
- package/dist/validations/items/emotes.js +6 -6
- package/dist/validations/items/emotes.js.map +1 -1
- package/dist/validations/items/items.d.ts +4 -4
- package/dist/validations/items/items.d.ts.map +1 -1
- package/dist/validations/items/items.js +67 -52
- package/dist/validations/items/items.js.map +1 -1
- package/dist/validations/items/wearables.d.ts +3 -3
- package/dist/validations/items/wearables.d.ts.map +1 -1
- package/dist/validations/items/wearables.js +4 -4
- package/dist/validations/items/wearables.js.map +1 -1
- package/dist/validations/metadata-schema.d.ts +10 -1
- package/dist/validations/metadata-schema.d.ts.map +1 -1
- package/dist/validations/metadata-schema.js +9 -6
- package/dist/validations/metadata-schema.js.map +1 -1
- package/dist/validations/profile.d.ts +7 -10
- package/dist/validations/profile.d.ts.map +1 -1
- package/dist/validations/profile.js +57 -37
- package/dist/validations/profile.js.map +1 -1
- package/dist/validations/scene.d.ts +2 -2
- package/dist/validations/scene.d.ts.map +1 -1
- package/dist/validations/scene.js +8 -7
- package/dist/validations/scene.js.map +1 -1
- package/dist/validations/signature.d.ts +2 -2
- package/dist/validations/signature.d.ts.map +1 -1
- package/dist/validations/signature.js +8 -6
- package/dist/validations/signature.js.map +1 -1
- package/dist/validations/size.d.ts +2 -2
- package/dist/validations/size.d.ts.map +1 -1
- package/dist/validations/size.js +31 -29
- package/dist/validations/size.js.map +1 -1
- package/dist/validations/subgraph-access-checker/access.d.ts +7 -0
- package/dist/validations/subgraph-access-checker/access.d.ts.map +1 -0
- package/dist/validations/subgraph-access-checker/access.js +48 -0
- package/dist/validations/subgraph-access-checker/access.js.map +1 -0
- package/dist/validations/subgraph-access-checker/emotes.d.ts +3 -0
- package/dist/validations/subgraph-access-checker/emotes.d.ts.map +1 -0
- package/dist/validations/subgraph-access-checker/emotes.js +9 -0
- package/dist/validations/subgraph-access-checker/emotes.js.map +1 -0
- package/dist/validations/subgraph-access-checker/items/collection-asset.d.ts.map +1 -0
- package/dist/validations/subgraph-access-checker/items/collection-asset.js.map +1 -0
- package/dist/validations/{access-checker → subgraph-access-checker}/items/items.d.ts +2 -2
- package/dist/validations/subgraph-access-checker/items/items.d.ts.map +1 -0
- package/dist/validations/{access-checker → subgraph-access-checker}/items/items.js +26 -24
- package/dist/validations/subgraph-access-checker/items/items.js.map +1 -0
- package/dist/validations/subgraph-access-checker/items/off-chain-asset.d.ts.map +1 -0
- package/dist/validations/subgraph-access-checker/items/off-chain-asset.js.map +1 -0
- package/dist/validations/subgraph-access-checker/items/third-party-asset.d.ts.map +1 -0
- package/dist/validations/subgraph-access-checker/items/third-party-asset.js.map +1 -0
- package/dist/validations/subgraph-access-checker/profiles.d.ts +6 -0
- package/dist/validations/subgraph-access-checker/profiles.d.ts.map +1 -0
- package/dist/validations/subgraph-access-checker/profiles.js +105 -0
- package/dist/validations/subgraph-access-checker/profiles.js.map +1 -0
- package/dist/validations/subgraph-access-checker/scenes.d.ts +7 -0
- package/dist/validations/subgraph-access-checker/scenes.d.ts.map +1 -0
- package/dist/validations/subgraph-access-checker/scenes.js +262 -0
- package/dist/validations/subgraph-access-checker/scenes.js.map +1 -0
- package/dist/validations/subgraph-access-checker/stores.d.ts +7 -0
- package/dist/validations/subgraph-access-checker/stores.d.ts.map +1 -0
- package/dist/validations/subgraph-access-checker/stores.js +35 -0
- package/dist/validations/subgraph-access-checker/stores.js.map +1 -0
- package/dist/validations/subgraph-access-checker/the-graph-client.d.ts +10 -0
- package/dist/validations/subgraph-access-checker/the-graph-client.d.ts.map +1 -0
- package/dist/validations/subgraph-access-checker/the-graph-client.js.map +1 -0
- package/dist/validations/subgraph-access-checker/wearables.d.ts +3 -0
- package/dist/validations/subgraph-access-checker/wearables.d.ts.map +1 -0
- package/dist/validations/{access-checker → subgraph-access-checker}/wearables.js +4 -4
- package/dist/validations/subgraph-access-checker/wearables.js.map +1 -0
- package/dist/validations/validations.d.ts.map +1 -1
- package/dist/validations/validations.js +4 -4
- package/dist/validations/validations.js.map +1 -1
- package/package.json +5 -3
- package/dist/the-graph-client/the-graph-client.d.ts +0 -10
- package/dist/the-graph-client/the-graph-client.d.ts.map +0 -1
- package/dist/the-graph-client/the-graph-client.js.map +0 -1
- package/dist/validations/access-checker/access.d.ts +0 -7
- package/dist/validations/access-checker/access.d.ts.map +0 -1
- package/dist/validations/access-checker/access.js +0 -42
- package/dist/validations/access-checker/access.js.map +0 -1
- package/dist/validations/access-checker/emotes.d.ts +0 -3
- package/dist/validations/access-checker/emotes.d.ts.map +0 -1
- package/dist/validations/access-checker/emotes.js +0 -12
- package/dist/validations/access-checker/emotes.js.map +0 -1
- package/dist/validations/access-checker/items/collection-asset.d.ts.map +0 -1
- package/dist/validations/access-checker/items/collection-asset.js.map +0 -1
- package/dist/validations/access-checker/items/items.d.ts.map +0 -1
- package/dist/validations/access-checker/items/items.js.map +0 -1
- package/dist/validations/access-checker/items/off-chain-asset.d.ts.map +0 -1
- package/dist/validations/access-checker/items/off-chain-asset.js.map +0 -1
- package/dist/validations/access-checker/items/third-party-asset.d.ts.map +0 -1
- package/dist/validations/access-checker/items/third-party-asset.js.map +0 -1
- package/dist/validations/access-checker/profiles.d.ts +0 -7
- package/dist/validations/access-checker/profiles.d.ts.map +0 -1
- package/dist/validations/access-checker/profiles.js +0 -114
- package/dist/validations/access-checker/profiles.js.map +0 -1
- package/dist/validations/access-checker/scenes.d.ts +0 -7
- package/dist/validations/access-checker/scenes.d.ts.map +0 -1
- package/dist/validations/access-checker/scenes.js +0 -261
- package/dist/validations/access-checker/scenes.js.map +0 -1
- package/dist/validations/access-checker/stores.d.ts +0 -7
- package/dist/validations/access-checker/stores.d.ts.map +0 -1
- package/dist/validations/access-checker/stores.js +0 -33
- package/dist/validations/access-checker/stores.js.map +0 -1
- package/dist/validations/access-checker/wearables.d.ts +0 -3
- package/dist/validations/access-checker/wearables.d.ts.map +0 -1
- package/dist/validations/access-checker/wearables.js.map +0 -1
- /package/dist/validations/{access-checker → subgraph-access-checker}/items/collection-asset.d.ts +0 -0
- /package/dist/validations/{access-checker → subgraph-access-checker}/items/collection-asset.js +0 -0
- /package/dist/validations/{access-checker → subgraph-access-checker}/items/off-chain-asset.d.ts +0 -0
- /package/dist/validations/{access-checker → subgraph-access-checker}/items/off-chain-asset.js +0 -0
- /package/dist/validations/{access-checker → subgraph-access-checker}/items/third-party-asset.d.ts +0 -0
- /package/dist/validations/{access-checker → subgraph-access-checker}/items/third-party-asset.js +0 -0
- /package/dist/{the-graph-client → validations/subgraph-access-checker}/the-graph-client.js +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { ContentValidatorComponents, Validator } from './types';
|
|
2
|
-
export { createTheGraphClient } from './the-graph-client/the-graph-client';
|
|
3
2
|
export * from './types';
|
|
4
3
|
export * from './validations';
|
|
5
4
|
/**
|
|
6
5
|
* Creates a validator instance with given external calls.
|
|
7
6
|
* @public
|
|
8
7
|
*/
|
|
9
|
-
export declare const createValidator: (components: Pick<ContentValidatorComponents, 'config' | 'externalCalls' | 'logs' | '
|
|
8
|
+
export declare const createValidator: (components: Pick<ContentValidatorComponents, 'config' | 'externalCalls' | 'logs' | 'accessChecker'>) => Validator;
|
|
10
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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,eAAe,CAAC,KAClG,SAeF,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -14,11 +14,9 @@ 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.createValidator =
|
|
17
|
+
exports.createValidator = 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; } });
|
|
22
20
|
__exportStar(require("./types"), exports);
|
|
23
21
|
__exportStar(require("./validations"), exports);
|
|
24
22
|
/**
|
|
@@ -27,10 +25,11 @@ __exportStar(require("./validations"), exports);
|
|
|
27
25
|
*/
|
|
28
26
|
const createValidator = (components) => {
|
|
29
27
|
const logs = components.logs.getLogger('ContentValidator');
|
|
28
|
+
const validateFns = [...(0, validations_1.createValidateFns)(components), components.accessChecker.checkAccess];
|
|
30
29
|
return {
|
|
31
30
|
validate: async (deployment) => {
|
|
32
|
-
for (const validate of
|
|
33
|
-
const result = await validate(
|
|
31
|
+
for (const validate of validateFns) {
|
|
32
|
+
const result = await validate(deployment);
|
|
34
33
|
if (!result.ok) {
|
|
35
34
|
logs.debug(`Validation failed:\n${result.errors?.join('\n')}`);
|
|
36
35
|
return result;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAAmE;AACnE,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAAmE;AACnE,+CAAiD;AAEjD,0CAAuB;AACvB,gDAA6B;AAE7B;;;GAGG;AACI,MAAM,eAAe,GAAG,CAC7B,UAAmG,EACxF,EAAE;IACb,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IAC1D,MAAM,WAAW,GAAG,CAAC,GAAG,IAAA,+BAAiB,EAAC,UAAU,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;IAC5F,OAAO;QACL,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YAC7B,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE;gBAClC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACzC,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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AuthChain, Entity, EthAddress } from '@dcl/schemas';
|
|
2
2
|
import { IConfigComponent, ILoggerComponent } from '@well-known-components/interfaces';
|
|
3
3
|
import { ISubgraphComponent, Variables } from '@well-known-components/thegraph-component';
|
|
4
|
-
import { PermissionResult } from './
|
|
4
|
+
import { PermissionResult } from './validations/subgraph-access-checker/the-graph-client';
|
|
5
5
|
/**
|
|
6
6
|
* @public
|
|
7
7
|
*/
|
|
@@ -73,7 +73,7 @@ export declare type ValidationResponse = {
|
|
|
73
73
|
/**
|
|
74
74
|
* @public
|
|
75
75
|
*/
|
|
76
|
-
export declare type ValidateFn = (
|
|
76
|
+
export declare type ValidateFn = (deployment: DeploymentToValidate) => Promise<ValidationResponse>;
|
|
77
77
|
/**
|
|
78
78
|
* @public
|
|
79
79
|
*/
|
|
@@ -118,6 +118,9 @@ export declare type BlockInformation = {
|
|
|
118
118
|
blockNumberAtDeployment: number | undefined;
|
|
119
119
|
blockNumberFiveMinBeforeDeployment: number | undefined;
|
|
120
120
|
};
|
|
121
|
+
export declare type AccessCheckerComponent = {
|
|
122
|
+
checkAccess(deployment: DeploymentToValidate): Promise<ValidationResponse>;
|
|
123
|
+
};
|
|
121
124
|
/**
|
|
122
125
|
* Components that can be used to validate deployments.
|
|
123
126
|
* @public
|
|
@@ -125,8 +128,11 @@ export declare type BlockInformation = {
|
|
|
125
128
|
export declare type ContentValidatorComponents = {
|
|
126
129
|
config: IConfigComponent;
|
|
127
130
|
logs: ILoggerComponent;
|
|
128
|
-
theGraphClient: TheGraphClient;
|
|
129
131
|
externalCalls: ExternalCalls;
|
|
132
|
+
accessChecker: AccessCheckerComponent;
|
|
133
|
+
};
|
|
134
|
+
export declare type SubgraphAccessCheckerComponents = Pick<ContentValidatorComponents, 'externalCalls' | 'logs' | 'config'> & {
|
|
135
|
+
theGraphClient: TheGraphClient;
|
|
130
136
|
subGraphs: SubGraphs;
|
|
131
137
|
};
|
|
132
138
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACtF,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACtF,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAA;AAEzF;;GAEG;AACH,oBAAY,wBAAwB,GAAG;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,CAAA;AAE/D;;GAEG;AACH,oBAAY,MAAM,GAAG,MAAM,EAAE,CAAA;AAE7B;;GAEG;AACH,oBAAY,QAAQ,GAAG,MAAM,EAAE,CAAA;AAE/B;;GAEG;AACH,oBAAY,oBAAoB,GAAG,MAAM,GAAG;IAC1C,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;GAGG;AACH,oBAAY,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC9B,SAAS,EAAE,wBAAwB,CAAA;CACpC,CAAA;AAED;;;GAGG;AACH,oBAAY,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAElH;;;GAGG;AACH,oBAAY,aAAa,GAAG;IAC1B,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC3E,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACnE,iBAAiB,EAAE,CACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,wBAAwB,EACnC,SAAS,EAAE,MAAM,KACd,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC/C,YAAY,EAAE,CAAC,SAAS,EAAE,wBAAwB,KAAK,MAAM,CAAA;IAC7D,4BAA4B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;CAC3D,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;CACxE;AAED;;GAEG;AACH,oBAAY,cAAc,GAAG;IAC3B,UAAU,EAAE,oBAAoB,CAAA;CACjC,CAAA;AAED;;GAEG;AACH,oBAAY,kBAAkB,GAAG;IAC/B,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;GAEG;AACH,oBAAY,UAAU,GAAG,CAAC,UAAU,EAAE,oBAAoB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAE1F;;GAEG;AACH,eAAO,MAAM,EAAE,EAAE,kBAAiC,CAAA;AAElD;;GAEG;AACH,eAAO,MAAM,gBAAgB,aAAc,MAAM,EAAE,KAAG,kBAGpD,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,yBAAwB,kBAG7C,CAAA;AAEF;;;GAGG;AACH,oBAAY,SAAS,GAAG;IACtB,EAAE,EAAE;QACF,WAAW,EAAE,kBAAkB,CAAA;QAC/B,MAAM,EAAE,kBAAkB,CAAA;QAC1B,WAAW,EAAE,kBAAkB,CAAA;QAC/B,QAAQ,EAAE,kBAAkB,CAAA;KAC7B,CAAA;IACD,EAAE,EAAE;QACF,MAAM,EAAE,kBAAkB,CAAA;QAC1B,WAAW,EAAE,kBAAkB,CAAA;QAC/B,kBAAkB,EAAE,kBAAkB,CAAA;KACvC,CAAA;CACF,CAAA;AAED;;GAEG;AACH,oBAAY,cAAc,GAAG;IAC3B,oBAAoB,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAEtH,oBAAoB,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAErH,sBAAsB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACvG,CAAA;AAED;;GAEG;AACH,oBAAY,gBAAgB,GAAG;IAC7B,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,kCAAkC,EAAE,MAAM,GAAG,SAAS,CAAA;CACvD,CAAA;AAED,oBAAY,sBAAsB,GAAG;IACnC,WAAW,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;CAC3E,CAAA;AAED;;;GAGG;AACH,oBAAY,0BAA0B,GAAG;IACvC,MAAM,EAAE,gBAAgB,CAAA;IACxB,IAAI,EAAE,gBAAgB,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,aAAa,EAAE,sBAAsB,CAAA;CACtC,CAAA;AAED,oBAAY,+BAA+B,GAAG,IAAI,CAAC,0BAA0B,EAAE,eAAe,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG;IACpH,cAAc,EAAE,cAAc,CAAA;IAC9B,SAAS,EAAE,SAAS,CAAA;CACrB,CAAA"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAuFA;;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 {
|
|
1
|
+
import { DeploymentToValidate, ValidationResponse } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Validate that entity meets ADR-45 validations
|
|
4
4
|
* @public
|
|
5
5
|
*/
|
|
6
|
-
export declare function
|
|
6
|
+
export declare function adr45ValidateFn(deployment: DeploymentToValidate): Promise<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,
|
|
1
|
+
{"version":3,"file":"ADR45.d.ts","sourceRoot":"","sources":["../../src/validations/ADR45.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,oBAAoB,EAAwB,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAOrH;;;GAGG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAOnG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.adr45ValidateFn = void 0;
|
|
4
4
|
const types_1 = require("../types");
|
|
5
5
|
const timestamps_1 = require("./timestamps");
|
|
6
6
|
const entityIsNotVersion3 = (entity) => entity.version !== 'v3';
|
|
@@ -9,11 +9,11 @@ const entityWasDeployedAfterADR45 = (entity) => entity.timestamp > timestamps_1.
|
|
|
9
9
|
* Validate that entity meets ADR-45 validations
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
|
-
function
|
|
12
|
+
async function adr45ValidateFn(deployment) {
|
|
13
13
|
const { entity } = deployment;
|
|
14
14
|
if (entityIsNotVersion3(entity) && entityWasDeployedAfterADR45(entity))
|
|
15
15
|
return (0, types_1.validationFailed)('Only entities v3 are allowed after ADR-45');
|
|
16
16
|
return types_1.OK;
|
|
17
17
|
}
|
|
18
|
-
exports.
|
|
18
|
+
exports.adr45ValidateFn = adr45ValidateFn;
|
|
19
19
|
//# sourceMappingURL=ADR45.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ADR45.js","sourceRoot":"","sources":["../../src/validations/ADR45.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"ADR45.js","sourceRoot":"","sources":["../../src/validations/ADR45.ts"],"names":[],"mappings":";;;AACA,oCAAqH;AACrH,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;AACI,KAAK,UAAU,eAAe,CAAC,UAAgC;IACpE,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,0CAOC"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { ContentValidatorComponents, DeploymentToValidate, ValidateFn } from '../types';
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
|
|
7
|
-
* Validate that uploaded and reported hashes are corrects and files corresponds to snapshots
|
|
8
|
-
* @public
|
|
9
|
-
*/
|
|
10
|
-
export declare const content: ValidateFn;
|
|
1
|
+
import { ContentValidatorComponents, DeploymentToValidate, ValidateFn, ValidationResponse } from '../types';
|
|
2
|
+
export declare function createAllHashesWereUploadedOrStoredValidateFn({ externalCalls }: Pick<ContentValidatorComponents, 'externalCalls'>): ValidateFn;
|
|
3
|
+
export declare function allHashesInUploadedFilesAreReportedInTheEntityValidateFn(deployment: DeploymentToValidate): Promise<ValidationResponse>;
|
|
4
|
+
export declare const allContentFilesCorrespondToAtLeastOneAvatarSnapshotAfterADR45ValidateFn: ValidateFn;
|
|
5
|
+
export declare const allMandatoryContentFilesArePresentValidateFn: ValidateFn;
|
|
6
|
+
export declare function createContentValidateFn(components: ContentValidatorComponents): ValidateFn;
|
|
11
7
|
//# sourceMappingURL=content.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/validations/content.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAc,UAAU,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/validations/content.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAc,UAAU,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAYvH,wBAAgB,6CAA6C,CAAC,EAC5D,aAAa,EACd,EAAE,IAAI,CAAC,0BAA0B,EAAE,eAAe,CAAC,GAAG,UAAU,CAkBhE;AAED,wBAAsB,wDAAwD,CAAC,UAAU,EAAE,oBAAoB,+BAW9G;AAED,eAAO,MAAM,uEAAuE,YAgBnF,CAAA;AAED,eAAO,MAAM,4CAA4C,YAevD,CAAA;AAEF,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,0BAA0B,GAAG,UAAU,CAW1F"}
|
|
@@ -1,31 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createContentValidateFn = exports.allMandatoryContentFilesArePresentValidateFn = exports.allContentFilesCorrespondToAtLeastOneAvatarSnapshotAfterADR45ValidateFn = exports.allHashesInUploadedFilesAreReportedInTheEntityValidateFn = exports.createAllHashesWereUploadedOrStoredValidateFn = 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
|
-
|
|
7
|
+
function correspondsToASnapshot(fileName, hash, metadata) {
|
|
8
8
|
const fileNameWithoutExtension = fileName.replace(/.[^/.]+$/, '');
|
|
9
9
|
if (!metadata || !metadata.avatars)
|
|
10
10
|
return false;
|
|
11
11
|
return metadata.avatars.some((avatar) => Object.entries(avatar.avatar.snapshots).some((key) => key[0] === fileNameWithoutExtension && key[1] === hash));
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
}
|
|
13
|
+
function createAllHashesWereUploadedOrStoredValidateFn({ externalCalls }) {
|
|
14
|
+
return async function validateFn(deployment) {
|
|
15
|
+
const { entity, files } = deployment;
|
|
16
|
+
const errors = [];
|
|
17
|
+
if (entity.content) {
|
|
18
|
+
const alreadyStoredHashes = await externalCalls.isContentStoredAlready(entity.content?.map((file) => file.hash) ?? []);
|
|
19
|
+
for (const { hash } of entity.content) {
|
|
20
|
+
// Validate that all hashes in entity were uploaded, or were already stored on the service
|
|
21
|
+
if (!(files.has(hash) || alreadyStoredHashes.get(hash))) {
|
|
22
|
+
errors.push(`This hash is referenced in the entity but was not uploaded or previously available: ${hash}`);
|
|
23
|
+
}
|
|
22
24
|
}
|
|
23
25
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
return (0, types_1.fromErrors)(...errors);
|
|
27
|
+
};
|
|
26
28
|
}
|
|
27
|
-
exports.
|
|
28
|
-
async function
|
|
29
|
+
exports.createAllHashesWereUploadedOrStoredValidateFn = createAllHashesWereUploadedOrStoredValidateFn;
|
|
30
|
+
async function allHashesInUploadedFilesAreReportedInTheEntityValidateFn(deployment) {
|
|
29
31
|
const { entity, files } = deployment;
|
|
30
32
|
const errors = [];
|
|
31
33
|
// Validate that all hashes that belong to uploaded files are actually reported on the entity
|
|
@@ -37,8 +39,8 @@ async function allHashesInUploadedFilesAreReportedInTheEntity(components, deploy
|
|
|
37
39
|
}
|
|
38
40
|
return (0, types_1.fromErrors)(...errors);
|
|
39
41
|
}
|
|
40
|
-
exports.
|
|
41
|
-
exports.
|
|
42
|
+
exports.allHashesInUploadedFilesAreReportedInTheEntityValidateFn = allHashesInUploadedFilesAreReportedInTheEntityValidateFn;
|
|
43
|
+
exports.allContentFilesCorrespondToAtLeastOneAvatarSnapshotAfterADR45ValidateFn = (0, validations_1.validateAfterADR45)(async function validateFn(deployment) {
|
|
42
44
|
const { entity } = deployment;
|
|
43
45
|
const errors = [];
|
|
44
46
|
for (const { file, hash } of entity.content ?? []) {
|
|
@@ -51,7 +53,7 @@ exports.allContentFilesCorrespondToAtLeastOneAvatarSnapshotAfterADR45 = (0, vali
|
|
|
51
53
|
}
|
|
52
54
|
return (0, types_1.fromErrors)(...errors);
|
|
53
55
|
});
|
|
54
|
-
exports.
|
|
56
|
+
exports.allMandatoryContentFilesArePresentValidateFn = (0, validations_1.validateAfterADR158)(async function validateFn(deployment) {
|
|
55
57
|
const { entity } = deployment;
|
|
56
58
|
const errors = [];
|
|
57
59
|
if (entity.type === schemas_1.EntityType.PROFILE) {
|
|
@@ -65,9 +67,12 @@ exports.allMandatoryContentFilesArePresent = (0, validations_1.validateAfterADR1
|
|
|
65
67
|
}
|
|
66
68
|
return (0, types_1.fromErrors)(...errors);
|
|
67
69
|
});
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
function createContentValidateFn(components) {
|
|
71
|
+
/**
|
|
72
|
+
* Validate that uploaded and reported hashes are corrects and files corresponds to snapshots
|
|
73
|
+
* @public
|
|
74
|
+
*/
|
|
75
|
+
return (0, validations_1.validateAll)(createAllHashesWereUploadedOrStoredValidateFn(components), allHashesInUploadedFilesAreReportedInTheEntityValidateFn, exports.allContentFilesCorrespondToAtLeastOneAvatarSnapshotAfterADR45ValidateFn, exports.allMandatoryContentFilesArePresentValidateFn);
|
|
76
|
+
}
|
|
77
|
+
exports.createContentValidateFn = createContentValidateFn;
|
|
73
78
|
//# sourceMappingURL=content.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/validations/content.ts"],"names":[],"mappings":";;;AAAA,0CAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/validations/content.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DeploymentToValidate, ValidationResponse } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Validate that entity is actually ok
|
|
4
4
|
* @public
|
|
5
5
|
*/
|
|
6
|
-
export declare function
|
|
6
|
+
export declare function entityStructureValidationFn(deployment: DeploymentToValidate): Promise<ValidationResponse>;
|
|
7
7
|
//# sourceMappingURL=entity-structure.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-structure.d.ts","sourceRoot":"","sources":["../../src/validations/entity-structure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"entity-structure.d.ts","sourceRoot":"","sources":["../../src/validations/entity-structure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAwB,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAEzF;;;GAGG;AACH,wBAAsB,2BAA2B,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAQ/G"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.entityStructureValidationFn = void 0;
|
|
4
4
|
const types_1 = require("../types");
|
|
5
5
|
/**
|
|
6
6
|
* Validate that entity is actually ok
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
|
-
async function
|
|
9
|
+
async function entityStructureValidationFn(deployment) {
|
|
10
10
|
const { entity } = deployment;
|
|
11
11
|
if (new Set(entity.pointers).size != entity.pointers.length) {
|
|
12
12
|
return (0, types_1.validationFailed)('There are repeated pointers in your request.');
|
|
@@ -16,5 +16,5 @@ async function entityStructure(components, deployment) {
|
|
|
16
16
|
}
|
|
17
17
|
return types_1.OK;
|
|
18
18
|
}
|
|
19
|
-
exports.
|
|
19
|
+
exports.entityStructureValidationFn = entityStructureValidationFn;
|
|
20
20
|
//# sourceMappingURL=entity-structure.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-structure.js","sourceRoot":"","sources":["../../src/validations/entity-structure.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"entity-structure.js","sourceRoot":"","sources":["../../src/validations/entity-structure.ts"],"names":[],"mappings":";;;AAAA,oCAAyF;AAEzF;;;GAGG;AACI,KAAK,UAAU,2BAA2B,CAAC,UAAgC;IAChF,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAC7B,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;QAC3D,OAAO,IAAA,wBAAgB,EAAC,8CAA8C,CAAC,CAAA;KACxE;SAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;QAC1D,OAAO,IAAA,wBAAgB,EAAC,yDAAyD,CAAC,CAAA;KACnF;IACD,OAAO,UAAE,CAAA;AACX,CAAC;AARD,kEAQC"}
|
|
@@ -1,26 +1,7 @@
|
|
|
1
|
-
import { DeploymentToValidate, ExternalCalls } from '../types';
|
|
2
|
-
import { access } from './access-checker/access';
|
|
3
|
-
import { adr45 } from './ADR45';
|
|
4
|
-
import { entityStructure } from './entity-structure';
|
|
5
|
-
import { signature } from './signature';
|
|
6
|
-
import { size } from './size';
|
|
1
|
+
import { ContentValidatorComponents, DeploymentToValidate, ExternalCalls, ValidateFn } from '../types';
|
|
7
2
|
/**
|
|
8
3
|
* @public
|
|
9
4
|
*/
|
|
10
5
|
export declare function calculateDeploymentSize(deployment: DeploymentToValidate, externalCalls: ExternalCalls): Promise<number | string>;
|
|
11
|
-
|
|
12
|
-
* Stateful validations that are run on a deployment.
|
|
13
|
-
* @public
|
|
14
|
-
*/
|
|
15
|
-
export declare const statefulValidateFns: readonly [typeof signature, typeof access, typeof size, import("../types").ValidateFn, import("../types").ValidateFn, import("../types").ValidateFn, import("../types").ValidateFn, import("../types").ValidateFn];
|
|
16
|
-
/**
|
|
17
|
-
* Stateless validations that are run on a deployment.
|
|
18
|
-
* @public
|
|
19
|
-
*/
|
|
20
|
-
export declare const statelessValidateFns: readonly [typeof entityStructure, import("../types").ValidateFn, import("../types").ValidateFn, typeof adr45];
|
|
21
|
-
/**
|
|
22
|
-
* All validations that are run on a deployment.
|
|
23
|
-
* @public
|
|
24
|
-
*/
|
|
25
|
-
export declare const validateFns: readonly [typeof entityStructure, import("../types").ValidateFn, import("../types").ValidateFn, typeof adr45, typeof signature, typeof access, typeof size, import("../types").ValidateFn, import("../types").ValidateFn, import("../types").ValidateFn, import("../types").ValidateFn, import("../types").ValidateFn];
|
|
6
|
+
export declare function createValidateFns(components: ContentValidatorComponents): ValidateFn[];
|
|
26
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAatG;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,oBAAoB,EAChC,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAa1B;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,0BAA0B,GAAG,UAAU,EAAE,CAiBtF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const access_1 = require("./access-checker/access");
|
|
3
|
+
exports.createValidateFns = exports.calculateDeploymentSize = void 0;
|
|
5
4
|
const ADR45_1 = require("./ADR45");
|
|
6
5
|
const content_1 = require("./content");
|
|
7
6
|
const entity_structure_1 = require("./entity-structure");
|
|
@@ -10,9 +9,9 @@ const emotes_1 = require("./items/emotes");
|
|
|
10
9
|
const wearables_1 = require("./items/wearables");
|
|
11
10
|
const metadata_schema_1 = require("./metadata-schema");
|
|
12
11
|
const profile_1 = require("./profile");
|
|
12
|
+
const scene_1 = require("./scene");
|
|
13
13
|
const signature_1 = require("./signature");
|
|
14
14
|
const size_1 = require("./size");
|
|
15
|
-
const scene_1 = require("./scene");
|
|
16
15
|
/**
|
|
17
16
|
* @public
|
|
18
17
|
*/
|
|
@@ -33,19 +32,22 @@ async function calculateDeploymentSize(deployment, externalCalls) {
|
|
|
33
32
|
return totalSize;
|
|
34
33
|
}
|
|
35
34
|
exports.calculateDeploymentSize = calculateDeploymentSize;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
35
|
+
function createValidateFns(components) {
|
|
36
|
+
return [
|
|
37
|
+
// Stateful validations that are run on a deployment.
|
|
38
|
+
(0, signature_1.createSignatureValidateFn)(components),
|
|
39
|
+
(0, size_1.createSizeValidateFn)(components),
|
|
40
|
+
wearables_1.wearableValidateFn,
|
|
41
|
+
emotes_1.emoteValidateFn,
|
|
42
|
+
(0, profile_1.createProfileValidateFn)(components),
|
|
43
|
+
scene_1.sceneValidateFn,
|
|
44
|
+
(0, content_1.createContentValidateFn)(components),
|
|
45
|
+
// Stateless validations that are run on a deployment.
|
|
46
|
+
entity_structure_1.entityStructureValidationFn,
|
|
47
|
+
ipfs_hashing_1.ipfsHashingValidateFn,
|
|
48
|
+
metadata_schema_1.metadataValidateFn,
|
|
49
|
+
ADR45_1.adr45ValidateFn
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
exports.createValidateFns = createValidateFns;
|
|
51
53
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validations/index.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validations/index.ts"],"names":[],"mappings":";;;AACA,mCAAyC;AACzC,uCAAmD;AACnD,yDAAgE;AAChE,iDAAsD;AACtD,2CAAgD;AAChD,iDAAsD;AACtD,uDAAsD;AACtD,uCAAmD;AACnD,mCAAyC;AACzC,2CAAuD;AACvD,iCAA6C;AAE7C;;GAEG;AACI,KAAK,UAAU,uBAAuB,CAC3C,UAAgC,EAChC,aAA4B;IAE5B,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;QACrF,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,YAAY,EAAE;YAChB,SAAS,IAAI,YAAY,CAAC,UAAU,CAAA;SACrC;aAAM;YACL,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;YAClE,IAAI,WAAW,KAAK,SAAS;gBAAE,OAAO,0CAA0C,IAAI,EAAE,CAAA;YACtF,SAAS,IAAI,WAAW,CAAA;SACzB;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAhBD,0DAgBC;AAED,SAAgB,iBAAiB,CAAC,UAAsC;IACtE,OAAO;QACL,qDAAqD;QACrD,IAAA,qCAAyB,EAAC,UAAU,CAAC;QACrC,IAAA,2BAAoB,EAAC,UAAU,CAAC;QAChC,8BAAkB;QAClB,wBAAe;QACf,IAAA,iCAAuB,EAAC,UAAU,CAAC;QACnC,uBAAe;QACf,IAAA,iCAAuB,EAAC,UAAU,CAAC;QAEnC,sDAAsD;QACtD,8CAA2B;QAC3B,oCAAqB;QACrB,oCAAkB;QAClB,uBAAe;KAChB,CAAA;AACH,CAAC;AAjBD,8CAiBC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { ValidateFn } from '../types';
|
|
2
1
|
/**
|
|
3
2
|
* Validate that all hashes used by the entity were actually IPFS hashes
|
|
4
3
|
* @public
|
|
5
4
|
*/
|
|
6
|
-
export declare const
|
|
5
|
+
export declare const ipfsHashingValidateFn: import("../types").ValidateFn;
|
|
7
6
|
//# sourceMappingURL=ipfs-hashing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipfs-hashing.d.ts","sourceRoot":"","sources":["../../src/validations/ipfs-hashing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ipfs-hashing.d.ts","sourceRoot":"","sources":["../../src/validations/ipfs-hashing.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,+BAahC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ipfsHashingValidateFn = void 0;
|
|
4
4
|
const schemas_1 = require("@dcl/schemas");
|
|
5
5
|
const types_1 = require("../types");
|
|
6
6
|
const validations_1 = require("./validations");
|
|
@@ -8,7 +8,7 @@ const validations_1 = require("./validations");
|
|
|
8
8
|
* Validate that all hashes used by the entity were actually IPFS hashes
|
|
9
9
|
* @public
|
|
10
10
|
*/
|
|
11
|
-
exports.
|
|
11
|
+
exports.ipfsHashingValidateFn = (0, validations_1.validateAfterADR45)(async function validateFn(deployment) {
|
|
12
12
|
const { entity } = deployment;
|
|
13
13
|
const hashesInContent = entity.content?.map(({ hash }) => hash) ?? [];
|
|
14
14
|
const allHashes = [entity.id, ...hashesInContent];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipfs-hashing.js","sourceRoot":"","sources":["../../src/validations/ipfs-hashing.ts"],"names":[],"mappings":";;;AAAA,0CAAqC;
|
|
1
|
+
{"version":3,"file":"ipfs-hashing.js","sourceRoot":"","sources":["../../src/validations/ipfs-hashing.ts"],"names":[],"mappings":";;;AAAA,0CAAqC;AACrC,oCAA+E;AAC/E,+CAAkD;AAElD;;;GAGG;AACU,QAAA,qBAAqB,GAAG,IAAA,gCAAkB,EAAC,KAAK,UAAU,UAAU,CAC/E,UAAgC;IAEhC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAE7B,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACrE,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,eAAe,CAAC,CAAA;IAEjD,MAAM,MAAM,GAAG,SAAS;SACrB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,IAAI,8CAA8C,CAAC,CAAA;IAElF,OAAO,IAAA,kBAAU,EAAC,GAAG,MAAM,CAAC,CAAA;AAC9B,CAAC,CAAC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
4
|
-
export declare const
|
|
1
|
+
import { DeploymentToValidate, ValidationResponse } from '../../types';
|
|
2
|
+
export declare function wasCreatedAfterADR74ValidateFn(deployment: DeploymentToValidate): Promise<ValidationResponse>;
|
|
3
|
+
export declare function emoteRepresentationContentValidateFn(deployment: DeploymentToValidate): Promise<ValidationResponse>;
|
|
4
|
+
export declare const emoteValidateFn: import("../../types").ValidateFn;
|
|
5
5
|
//# sourceMappingURL=emotes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emotes.d.ts","sourceRoot":"","sources":["../../../src/validations/items/emotes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"emotes.d.ts","sourceRoot":"","sources":["../../../src/validations/items/emotes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAwB,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAI5F,wBAAsB,8BAA8B,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAMlH;AAED,wBAAsB,oCAAoC,CAAC,UAAU,EAAE,oBAAoB,+BAe1F;AAED,eAAO,MAAM,eAAe,kCAG3B,CAAA"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.emoteValidateFn = exports.emoteRepresentationContentValidateFn = exports.wasCreatedAfterADR74ValidateFn = void 0;
|
|
4
4
|
const schemas_1 = require("@dcl/schemas");
|
|
5
5
|
const types_1 = require("../../types");
|
|
6
6
|
const timestamps_1 = require("../timestamps");
|
|
7
7
|
const validations_1 = require("../validations");
|
|
8
|
-
async function
|
|
8
|
+
async function wasCreatedAfterADR74ValidateFn(deployment) {
|
|
9
9
|
return deployment.entity.timestamp < timestamps_1.ADR_74_TIMESTAMP
|
|
10
10
|
? (0, types_1.validationFailed)(`The emote timestamp ${deployment.entity.timestamp} is before ADR 74. Emotes did not exist before ADR 74.`)
|
|
11
11
|
: types_1.OK;
|
|
12
12
|
}
|
|
13
|
-
exports.
|
|
14
|
-
async function
|
|
13
|
+
exports.wasCreatedAfterADR74ValidateFn = wasCreatedAfterADR74ValidateFn;
|
|
14
|
+
async function emoteRepresentationContentValidateFn(deployment) {
|
|
15
15
|
const { entity } = deployment;
|
|
16
16
|
const metadata = entity.metadata;
|
|
17
17
|
const representations = metadata?.emoteDataADR74?.representations;
|
|
@@ -28,6 +28,6 @@ async function emoteRepresentationContent(components, deployment) {
|
|
|
28
28
|
}
|
|
29
29
|
return types_1.OK;
|
|
30
30
|
}
|
|
31
|
-
exports.
|
|
32
|
-
exports.
|
|
31
|
+
exports.emoteRepresentationContentValidateFn = emoteRepresentationContentValidateFn;
|
|
32
|
+
exports.emoteValidateFn = (0, validations_1.validateIfTypeMatches)(schemas_1.EntityType.EMOTE, (0, validations_1.validateAll)(wasCreatedAfterADR74ValidateFn, emoteRepresentationContentValidateFn));
|
|
33
33
|
//# sourceMappingURL=emotes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emotes.js","sourceRoot":"","sources":["../../../src/validations/items/emotes.ts"],"names":[],"mappings":";;;AAAA,0CAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"emotes.js","sourceRoot":"","sources":["../../../src/validations/items/emotes.ts"],"names":[],"mappings":";;;AAAA,0CAAgD;AAChD,uCAA4F;AAC5F,8CAAgD;AAChD,gDAAmE;AAE5D,KAAK,UAAU,8BAA8B,CAAC,UAAgC;IACnF,OAAO,UAAU,CAAC,MAAM,CAAC,SAAS,GAAG,6BAAgB;QACnD,CAAC,CAAC,IAAA,wBAAgB,EACd,uBAAuB,UAAU,CAAC,MAAM,CAAC,SAAS,wDAAwD,CAC3G;QACH,CAAC,CAAC,UAAE,CAAA;AACR,CAAC;AAND,wEAMC;AAEM,KAAK,UAAU,oCAAoC,CAAC,UAAgC;IACzF,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAiB,CAAA;IACzC,MAAM,eAAe,GAAG,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAA;IACjE,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAA,wBAAgB,EAAC,gCAAgC,CAAC,CAAA;IAC/G,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;AAfD,oFAeC;AAEY,QAAA,eAAe,GAAG,IAAA,mCAAqB,EAClD,oBAAU,CAAC,KAAK,EAChB,IAAA,yBAAW,EAAC,8BAA8B,EAAE,oCAAoC,CAAC,CAClF,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ContentValidatorComponents,
|
|
1
|
+
import { ContentValidatorComponents, ValidateFn } from '../../types';
|
|
2
2
|
/** Validate item files size, excluding thumbnail, is less than expected */
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
3
|
+
export declare function createDeploymentMaxSizeExcludingThumbnailIsNotExceededValidateFn(components: Pick<ContentValidatorComponents, 'externalCalls'>): ValidateFn;
|
|
4
|
+
export declare function createThumbnailMaxSizeIsNotExceededValidateFn(components: Pick<ContentValidatorComponents, 'externalCalls' | 'logs'>): ValidateFn;
|
|
5
5
|
/**
|
|
6
6
|
* Validate that given item deployment includes the thumbnail and doesn't exceed file sizes
|
|
7
7
|
* * @public
|
|
8
8
|
*/
|
|
9
|
-
export declare
|
|
9
|
+
export declare function createItemsValidateFn(components: ContentValidatorComponents): ValidateFn;
|
|
10
10
|
//# sourceMappingURL=items.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../../../src/validations/items/items.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../../../src/validations/items/items.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,0BAA0B,EAG1B,UAAU,EAGX,MAAM,aAAa,CAAA;AAIpB,2EAA2E;AAC3E,wBAAgB,gEAAgE,CAC9E,UAAU,EAAE,IAAI,CAAC,0BAA0B,EAAE,eAAe,CAAC,GAC5D,UAAU,CAgCZ;AAKD,wBAAgB,6CAA6C,CAC3D,UAAU,EAAE,IAAI,CAAC,0BAA0B,EAAE,eAAe,GAAG,MAAM,CAAC,GACrE,UAAU,CA2CZ;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,0BAA0B,GAAG,UAAU,CAQxF"}
|