@dcl/content-validator 4.0.27-20230106194717.commit-dd49367 → 4.1.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/content-validator.api.json +73 -180
- package/dist/the-graph-client/the-graph-client.d.ts +1 -5
- package/dist/the-graph-client/the-graph-client.d.ts.map +1 -1
- package/dist/the-graph-client/the-graph-client.js +83 -49
- package/dist/the-graph-client/the-graph-client.js.map +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/types.d.ts +23 -38
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/validations/ADR45.d.ts +7 -0
- package/dist/validations/ADR45.d.ts.map +1 -0
- package/dist/validations/ADR45.js +20 -0
- package/dist/validations/ADR45.js.map +1 -0
- package/dist/validations/ADR51.d.ts +1 -1
- package/dist/validations/ADR51.d.ts.map +1 -1
- package/dist/validations/access-checker/items/collection-asset.d.ts +2 -2
- package/dist/validations/access-checker/items/collection-asset.d.ts.map +1 -1
- package/dist/validations/access-checker/items/collection-asset.js +106 -43
- package/dist/validations/access-checker/items/collection-asset.js.map +1 -1
- package/dist/validations/access-checker/items/items.d.ts +3 -3
- package/dist/validations/access-checker/items/items.d.ts.map +1 -1
- package/dist/validations/access-checker/items/third-party-asset.d.ts.map +1 -1
- package/dist/validations/access-checker/items/third-party-asset.js +80 -21
- package/dist/validations/access-checker/items/third-party-asset.js.map +1 -1
- package/dist/validations/access-checker/scenes.d.ts.map +1 -1
- package/dist/validations/access-checker/scenes.js +227 -29
- package/dist/validations/access-checker/scenes.js.map +1 -1
- package/dist/validations/index.d.ts +2 -2
- package/dist/validations/index.d.ts.map +1 -1
- package/dist/validations/index.js +2 -1
- package/dist/validations/index.js.map +1 -1
- package/dist/validations/timestamps.d.ts +1 -1
- package/dist/validations/timestamps.js +2 -2
- package/package.json +4 -9
|
@@ -1,20 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createTheGraphClient =
|
|
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(
|
|
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
|
|
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.
|
|
44
|
+
const permissionMostRecentBlock = await hasPermissionOnBlock(blocks.blockNumberAtDeployment);
|
|
50
45
|
if (permissionMostRecentBlock.result) {
|
|
51
46
|
return permissionMostRecentBlock;
|
|
52
47
|
}
|
|
53
|
-
return await hasPermissionOnBlock(blocks.
|
|
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.
|
|
87
|
-
const maticItemsOwnersPromise = ownsItemsAtTimestampInBlockchain(ethAddress, matic, timestamp, components.subGraphs.L2.
|
|
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,
|
|
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(
|
|
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.
|
|
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.
|
|
125
|
+
const permissionMostRecentBlock = await hasPermissionOnBlock(blocks.blockNumberAtDeployment);
|
|
131
126
|
if (permissionMostRecentBlock.result) {
|
|
132
127
|
return permissionMostRecentBlock;
|
|
133
128
|
}
|
|
134
|
-
return await hasPermissionOnBlock(blocks.
|
|
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 (
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
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":";;;AACA,oDAA4C;
|
|
1
|
+
{"version":3,"file":"the-graph-client.js","sourceRoot":"","sources":["../../src/the-graph-client/the-graph-client.ts"],"names":[],"mappings":"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"}
|
package/dist/tsdoc-metadata.json
CHANGED
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,26 +60,26 @@ 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 = {
|
|
76
|
+
export declare type Validation = {
|
|
79
77
|
validate: (components: ContentValidatorComponents, deployment: DeploymentToValidate) => ValidationResponse | Promise<ValidationResponse>;
|
|
80
78
|
};
|
|
81
79
|
/**
|
|
82
80
|
* @public
|
|
83
81
|
*/
|
|
84
|
-
export type ConditionalValidation = {
|
|
82
|
+
export declare type ConditionalValidation = {
|
|
85
83
|
predicate: (components: ContentValidatorComponents, deployment: DeploymentToValidate) => ValidationResponse | Promise<ValidationResponse>;
|
|
86
84
|
};
|
|
87
85
|
/**
|
|
@@ -96,56 +94,43 @@ export declare const validationFailed: (...error: string[]) => ValidationRespons
|
|
|
96
94
|
* @public
|
|
97
95
|
*/
|
|
98
96
|
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
97
|
/**
|
|
114
98
|
* A list with all sub-graphs used for validations.
|
|
115
99
|
* @public
|
|
116
100
|
*/
|
|
117
|
-
export type SubGraphs = {
|
|
101
|
+
export declare type SubGraphs = {
|
|
118
102
|
L1: {
|
|
119
|
-
|
|
103
|
+
landManager: ISubgraphComponent;
|
|
104
|
+
blocks: ISubgraphComponent;
|
|
120
105
|
collections: ISubgraphComponent;
|
|
106
|
+
ensOwner: ISubgraphComponent;
|
|
121
107
|
};
|
|
122
108
|
L2: {
|
|
123
|
-
|
|
109
|
+
blocks: ISubgraphComponent;
|
|
124
110
|
collections: ISubgraphComponent;
|
|
111
|
+
thirdPartyRegistry: ISubgraphComponent;
|
|
125
112
|
};
|
|
126
|
-
l1BlockSearch: BlockSearch;
|
|
127
|
-
l2BlockSearch: BlockSearch;
|
|
128
113
|
};
|
|
129
114
|
/**
|
|
130
115
|
* @public
|
|
131
116
|
*/
|
|
132
|
-
export type TheGraphClient = {
|
|
117
|
+
export declare type TheGraphClient = {
|
|
133
118
|
ownsNamesAtTimestamp: (ethAddress: EthAddress, namesToCheck: string[], timestamp: number) => Promise<PermissionResult>;
|
|
134
119
|
ownsItemsAtTimestamp: (ethAddress: EthAddress, urnsToCheck: string[], timestamp: number) => Promise<PermissionResult>;
|
|
135
|
-
findBlocksForTimestamp: (
|
|
120
|
+
findBlocksForTimestamp: (subgraph: ISubgraphComponent, timestamp: number) => Promise<BlockInformation>;
|
|
136
121
|
};
|
|
137
122
|
/**
|
|
138
123
|
* @public
|
|
139
124
|
*/
|
|
140
|
-
export type BlockInformation = {
|
|
141
|
-
|
|
142
|
-
|
|
125
|
+
export declare type BlockInformation = {
|
|
126
|
+
blockNumberAtDeployment: number | undefined;
|
|
127
|
+
blockNumberFiveMinBeforeDeployment: number | undefined;
|
|
143
128
|
};
|
|
144
129
|
/**
|
|
145
130
|
* Components that can be used to validate deployments.
|
|
146
131
|
* @public
|
|
147
132
|
*/
|
|
148
|
-
export type ContentValidatorComponents = {
|
|
133
|
+
export declare type ContentValidatorComponents = {
|
|
149
134
|
config: IConfigComponent;
|
|
150
135
|
logs: ILoggerComponent;
|
|
151
136
|
theGraphClient: TheGraphClient;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
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":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAsGA;;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"}
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.adr45 = void 0;
|
|
4
|
+
const types_1 = require("../types");
|
|
5
|
+
const timestamps_1 = require("./timestamps");
|
|
6
|
+
const entityIsNotVersion3 = (entity) => entity.version !== 'v3';
|
|
7
|
+
const entityWasDeployedAfterADR45 = (entity) => entity.timestamp > timestamps_1.ADR_45_TIMESTAMP;
|
|
8
|
+
/**
|
|
9
|
+
* Validate that entity meets ADR-45 validations
|
|
10
|
+
* @public
|
|
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
|
+
};
|
|
20
|
+
//# sourceMappingURL=ADR45.js.map
|
|
@@ -0,0 +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 +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,
|
|
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,9 +1,9 @@
|
|
|
1
1
|
import { AssetValidation } from './items';
|
|
2
|
-
type CollectionItem = {
|
|
2
|
+
declare type CollectionItem = {
|
|
3
3
|
managers: string[];
|
|
4
4
|
contentHash: string;
|
|
5
5
|
};
|
|
6
|
-
export type ItemCollection = {
|
|
6
|
+
export declare type ItemCollection = {
|
|
7
7
|
creator: string;
|
|
8
8
|
managers: string[];
|
|
9
9
|
isApproved: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-asset.d.ts","sourceRoot":"","sources":["../../../../src/validations/access-checker/items/collection-asset.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"collection-asset.d.ts","sourceRoot":"","sources":["../../../../src/validations/access-checker/items/collection-asset.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAoBzC,aAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,oBAAY,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;IACpB,KAAK,EAAE,cAAc,EAAE,CAAA;CACxB,CAAA;AAsID,eAAO,MAAM,gCAAgC,EAAE,eAqD9C,CAAA"}
|