@dcl/content-validator 2.0.1-20220615103526.commit-bdae58b → 2.0.1-20220615200611.commit-b189ea7
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 +6 -6
- package/dist/the-graph-client/the-graph-client.d.ts +4 -0
- package/dist/the-graph-client/the-graph-client.d.ts.map +1 -1
- package/dist/the-graph-client/the-graph-client.js +106 -62
- package/dist/the-graph-client/the-graph-client.js.map +1 -1
- package/dist/types.d.ts +3 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/validations/access-checker/profiles.d.ts.map +1 -1
- package/dist/validations/access-checker/profiles.js +10 -21
- package/dist/validations/access-checker/profiles.js.map +1 -1
- package/package.json +2 -2
|
@@ -1016,12 +1016,12 @@
|
|
|
1016
1016
|
},
|
|
1017
1017
|
{
|
|
1018
1018
|
"kind": "Reference",
|
|
1019
|
-
"text": "
|
|
1020
|
-
"canonicalReference": "!
|
|
1019
|
+
"text": "PermissionResult",
|
|
1020
|
+
"canonicalReference": "@dcl/content-validator!PermissionResult:type"
|
|
1021
1021
|
},
|
|
1022
1022
|
{
|
|
1023
1023
|
"kind": "Content",
|
|
1024
|
-
"text": "
|
|
1024
|
+
"text": ">;\n checkForWearablesOwnershipWithTimestamp: (ethAddress: "
|
|
1025
1025
|
},
|
|
1026
1026
|
{
|
|
1027
1027
|
"kind": "Reference",
|
|
@@ -1052,12 +1052,12 @@
|
|
|
1052
1052
|
},
|
|
1053
1053
|
{
|
|
1054
1054
|
"kind": "Reference",
|
|
1055
|
-
"text": "
|
|
1056
|
-
"canonicalReference": "!
|
|
1055
|
+
"text": "PermissionResult",
|
|
1056
|
+
"canonicalReference": "@dcl/content-validator!PermissionResult:type"
|
|
1057
1057
|
},
|
|
1058
1058
|
{
|
|
1059
1059
|
"kind": "Content",
|
|
1060
|
-
"text": "
|
|
1060
|
+
"text": ">;\n findBlocksForTimestamp: (subgraph: keyof "
|
|
1061
1061
|
},
|
|
1062
1062
|
{
|
|
1063
1063
|
"kind": "Reference",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"the-graph-client.d.ts","sourceRoot":"","sources":["../../src/the-graph-client/the-graph-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAQ,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"the-graph-client.d.ts","sourceRoot":"","sources":["../../src/the-graph-client/the-graph-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAQ,MAAM,UAAU,CAAA;AAG3E,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,eAAe,CAAC,KACrE,cA8SF,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createTheGraphClient = void 0;
|
|
4
|
+
const urn_resolver_1 = require("@dcl/urn-resolver");
|
|
4
5
|
/**
|
|
5
6
|
* @public
|
|
6
7
|
*/
|
|
@@ -13,84 +14,127 @@ const createTheGraphClient = (components) => {
|
|
|
13
14
|
ensSubgraph: components.externalCalls.subgraphs.L1.ensOwner,
|
|
14
15
|
maticCollectionsSubgraph: components.externalCalls.subgraphs.L2.collections
|
|
15
16
|
};
|
|
17
|
+
const L1_NETWORKS = ['mainnet', 'ropsten', 'kovan', 'rinkeby', 'goerli'];
|
|
18
|
+
const L2_NETWORKS = ['matic', 'mumbai'];
|
|
16
19
|
const checkForNamesOwnershipWithTimestamp = async (ethAddress, namesToCheck, timestamp) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
subgraph: 'ensSubgraph',
|
|
21
|
-
query: QUERY_NAMES_FOR_ADDRESS_AT_BLOCK,
|
|
22
|
-
mapper: (response) => new Set(response.names.map(({ name }) => name))
|
|
23
|
-
};
|
|
24
|
-
return runQuery(query, {
|
|
25
|
-
block: blockNumber,
|
|
26
|
-
ethAddress,
|
|
27
|
-
names: namesToCheck
|
|
28
|
-
});
|
|
29
|
-
};
|
|
20
|
+
if (namesToCheck.length === 0) {
|
|
21
|
+
return permissionOk();
|
|
22
|
+
}
|
|
30
23
|
const blocks = await findBlocksForTimestamp('blocksSubgraph', timestamp);
|
|
31
|
-
|
|
32
|
-
if (
|
|
33
|
-
return
|
|
24
|
+
const hasPermissionOnBlock = async (blockNumber, ethAddress, namesToCheck) => {
|
|
25
|
+
if (!blockNumber) {
|
|
26
|
+
return permissionError();
|
|
34
27
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return
|
|
28
|
+
const ownedNamesOnBlock = async (blockNumber) => {
|
|
29
|
+
const query = {
|
|
30
|
+
description: 'check for names ownership',
|
|
31
|
+
subgraph: 'ensSubgraph',
|
|
32
|
+
query: QUERY_NAMES_FOR_ADDRESS_AT_BLOCK,
|
|
33
|
+
mapper: (response) => new Set(response.names.map(({ name }) => name))
|
|
34
|
+
};
|
|
35
|
+
return runQuery(query, {
|
|
36
|
+
block: blockNumber,
|
|
37
|
+
ethAddress,
|
|
38
|
+
nameList: namesToCheck
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
try {
|
|
42
|
+
const ownedNames = await ownedNamesOnBlock(blockNumber);
|
|
43
|
+
const result = namesToCheck.filter((name) => !ownedNames.has(name));
|
|
44
|
+
return result.length > 0 ? permissionError(result) : permissionOk();
|
|
43
45
|
}
|
|
46
|
+
catch {
|
|
47
|
+
logger.error(`Error retrieving names owned by address ${ethAddress} at block ${blockNumber}`);
|
|
48
|
+
return permissionError();
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
const permissionMostRecentBlock = await hasPermissionOnBlock(blocks.blockNumberAtDeployment, ethAddress, namesToCheck);
|
|
52
|
+
if (permissionMostRecentBlock.result) {
|
|
53
|
+
return permissionMostRecentBlock;
|
|
44
54
|
}
|
|
45
|
-
|
|
46
|
-
logger.error(`Error retrieving names owned by address ${ethAddress} at block ${blocks.blockNumberFiveMinBeforeDeployment}`);
|
|
47
|
-
logger.error(error);
|
|
48
|
-
}
|
|
49
|
-
throw Error(`Could not query names for ${ethAddress} at blocks ${blocks.blockNumberAtDeployment} nor ${blocks.blockNumberFiveMinBeforeDeployment}`);
|
|
55
|
+
return await hasPermissionOnBlock(blocks.blockNumberFiveMinBeforeDeployment, ethAddress, namesToCheck);
|
|
50
56
|
};
|
|
57
|
+
async function splitWearablesByNetwork(wearableIdsToCheck) {
|
|
58
|
+
const ethereum = [];
|
|
59
|
+
const matic = [];
|
|
60
|
+
for (const wearable of wearableIdsToCheck) {
|
|
61
|
+
const parsed = await (0, urn_resolver_1.parseUrn)(wearable);
|
|
62
|
+
if (parsed && 'network' in parsed) {
|
|
63
|
+
if (L1_NETWORKS.includes(parsed.network)) {
|
|
64
|
+
ethereum.push(wearable);
|
|
65
|
+
}
|
|
66
|
+
else if (L2_NETWORKS.includes(parsed.network)) {
|
|
67
|
+
matic.push(wearable);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
ethereum,
|
|
73
|
+
matic
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
const permissionOk = () => ({ result: true });
|
|
77
|
+
const permissionError = (failing) => ({
|
|
78
|
+
result: false,
|
|
79
|
+
failing: failing
|
|
80
|
+
});
|
|
51
81
|
const checkForWearablesOwnershipWithTimestamp = async (ethAddress, wearableIdsToCheck, timestamp) => {
|
|
52
|
-
|
|
53
|
-
|
|
82
|
+
if (wearableIdsToCheck.length === 0) {
|
|
83
|
+
return permissionOk();
|
|
84
|
+
}
|
|
85
|
+
const { ethereum, matic } = await splitWearablesByNetwork(wearableIdsToCheck);
|
|
86
|
+
const ethereumWearablesOwnersPromise = getOwnersByWearableWithTimestamp(ethAddress, ethereum, timestamp, 'blocksSubgraph', 'collectionsSubgraph');
|
|
87
|
+
const maticWearablesOwnersPromise = getOwnersByWearableWithTimestamp(ethAddress, matic, timestamp, 'maticBlocksSubgraph', 'maticCollectionsSubgraph');
|
|
54
88
|
const [ethereumWearablesOwners, maticWearablesOwners] = await Promise.all([
|
|
55
89
|
ethereumWearablesOwnersPromise,
|
|
56
90
|
maticWearablesOwnersPromise
|
|
57
91
|
]);
|
|
58
|
-
|
|
92
|
+
if (ethereumWearablesOwners.result && maticWearablesOwners.result)
|
|
93
|
+
return permissionOk();
|
|
94
|
+
else {
|
|
95
|
+
return permissionError([
|
|
96
|
+
...(ethereumWearablesOwners.failing ?? []),
|
|
97
|
+
...(maticWearablesOwners.failing ?? [])
|
|
98
|
+
]);
|
|
99
|
+
}
|
|
59
100
|
};
|
|
60
101
|
const getOwnersByWearableWithTimestamp = async (ethAddress, wearableIdsToCheck, timestamp, blocksSubgraph, collectionsSubgraph) => {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
subgraph: collectionsSubgraph,
|
|
65
|
-
query: QUERY_WEARABLES_FOR_ADDRESS_AT_BLOCK,
|
|
66
|
-
mapper: (response) => new Set(response.wearables.map(({ urn }) => urn))
|
|
67
|
-
};
|
|
68
|
-
return runQuery(query, {
|
|
69
|
-
block: blockNumber,
|
|
70
|
-
ethAddress,
|
|
71
|
-
urnList: wearableIdsToCheck
|
|
72
|
-
});
|
|
73
|
-
};
|
|
102
|
+
if (wearableIdsToCheck.length === 0) {
|
|
103
|
+
return permissionOk();
|
|
104
|
+
}
|
|
74
105
|
const blocks = await findBlocksForTimestamp(blocksSubgraph, timestamp);
|
|
75
|
-
|
|
76
|
-
if (
|
|
77
|
-
return
|
|
106
|
+
const hasPermissionOnBlock = async (blockNumber, ethAddress, wearableIdsToCheck) => {
|
|
107
|
+
if (!blockNumber) {
|
|
108
|
+
return permissionError();
|
|
78
109
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
return
|
|
110
|
+
const ownedWearablesOnBlock = async (blockNumber) => {
|
|
111
|
+
const query = {
|
|
112
|
+
description: 'check for wearables ownership',
|
|
113
|
+
subgraph: collectionsSubgraph,
|
|
114
|
+
query: QUERY_WEARABLES_FOR_ADDRESS_AT_BLOCK,
|
|
115
|
+
mapper: (response) => new Set(response.wearables.map(({ urn }) => urn))
|
|
116
|
+
};
|
|
117
|
+
return runQuery(query, {
|
|
118
|
+
block: blockNumber,
|
|
119
|
+
ethAddress,
|
|
120
|
+
urnList: wearableIdsToCheck
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
try {
|
|
124
|
+
const ownedWearables = await ownedWearablesOnBlock(blockNumber);
|
|
125
|
+
const result = wearableIdsToCheck.filter((name) => !ownedWearables.has(name));
|
|
126
|
+
return result.length > 0 ? permissionError(result) : permissionOk();
|
|
87
127
|
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
logger.error(`Error retrieving wearables owned by address ${ethAddress} at block ${blocks.blockNumberAtDeployment}`);
|
|
130
|
+
return permissionError();
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
const permissionMostRecentBlock = await hasPermissionOnBlock(blocks.blockNumberAtDeployment, ethAddress, wearableIdsToCheck);
|
|
134
|
+
if (permissionMostRecentBlock.result) {
|
|
135
|
+
return permissionMostRecentBlock;
|
|
88
136
|
}
|
|
89
|
-
|
|
90
|
-
logger.error(`Error retrieving wearables owned by address ${ethAddress} at block ${blocks.blockNumberFiveMinBeforeDeployment}`);
|
|
91
|
-
logger.error(error);
|
|
92
|
-
}
|
|
93
|
-
throw Error(`Could not query wearables for ${ethAddress} at blocks ${blocks.blockNumberAtDeployment} nor ${blocks.blockNumberFiveMinBeforeDeployment}`);
|
|
137
|
+
return await hasPermissionOnBlock(blocks.blockNumberFiveMinBeforeDeployment, ethAddress, wearableIdsToCheck);
|
|
94
138
|
};
|
|
95
139
|
const runQuery = async (query, variables) => {
|
|
96
140
|
try {
|
|
@@ -162,7 +206,7 @@ query getBlockForTimestampRange($timestamp: Int!, $timestamp5Min: Int!) {
|
|
|
162
206
|
}
|
|
163
207
|
}`;
|
|
164
208
|
const QUERY_NAMES_FOR_ADDRESS_AT_BLOCK = `
|
|
165
|
-
query getNftNamesForBlock($block: Int!, $ethAddress: String!, $nameList: [
|
|
209
|
+
query getNftNamesForBlock($block: Int!, $ethAddress: String!, $nameList: [String!]) {
|
|
166
210
|
names: nfts(
|
|
167
211
|
block: {number: $block}
|
|
168
212
|
where: {owner: $ethAddress, category: ens, name_in: $nameList}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"the-graph-client.js","sourceRoot":"","sources":["../../src/the-graph-client/the-graph-client.ts"],"names":[],"mappings":";;;
|
|
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/types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AuthChain, Entity, EthAddress, WearableId } from '@dcl/schemas';
|
|
2
2
|
import { ILoggerComponent } from '@well-known-components/interfaces';
|
|
3
|
+
import { PermissionResult } from './the-graph-client/the-graph-client';
|
|
3
4
|
/**
|
|
4
5
|
* @public
|
|
5
6
|
*/
|
|
@@ -124,8 +125,8 @@ export declare type URLs = {
|
|
|
124
125
|
* @public
|
|
125
126
|
*/
|
|
126
127
|
export declare type TheGraphClient = {
|
|
127
|
-
checkForNamesOwnershipWithTimestamp: (ethAddress: EthAddress, namesToCheck: string[], timestamp: number) => Promise<
|
|
128
|
-
checkForWearablesOwnershipWithTimestamp: (ethAddress: EthAddress, wearableIdsToCheck: WearableId[], timestamp: number) => Promise<
|
|
128
|
+
checkForNamesOwnershipWithTimestamp: (ethAddress: EthAddress, namesToCheck: string[], timestamp: number) => Promise<PermissionResult>;
|
|
129
|
+
checkForWearablesOwnershipWithTimestamp: (ethAddress: EthAddress, wearableIdsToCheck: WearableId[], timestamp: number) => Promise<PermissionResult>;
|
|
129
130
|
findBlocksForTimestamp: (subgraph: keyof URLs, timestamp: number) => Promise<{
|
|
130
131
|
blockNumberAtDeployment: number | undefined;
|
|
131
132
|
blockNumberFiveMinBeforeDeployment: number | undefined;
|
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,UAAU,EAAE,MAAM,cAAc,CAAA;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;
|
|
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":";;;AAuHA;;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,qBAAqB,GAAG,CACnC,SAAgC,EACpB,EAAE,CAAC,CAAC;IAChB,QAAQ,EAAE,KAAK,EACb,UAAsC,EACtC,UAAgC,EAChC,EAAE;QACF,IAAI;YACF,OAAO,MAAM,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;YACxD,sEAAsE;SACvE;QAAC,OAAO,GAAQ,EAAE;YACjB,OAAO,IAAA,wBAAgB,EAAC,sBAAsB,GAAG,EAAE,CAAC,CAAA;SACrD;IACH,CAAC;CACF,CAAC,CAAA;AAdW,QAAA,qBAAqB,yBAchC;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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../src/validations/access-checker/profiles.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,UAAU,EAAoB,MAAM,aAAa,CAAA;AAM9D;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../src/validations/access-checker/profiles.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,UAAU,EAAoB,MAAM,aAAa,CAAA;AAM9D;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,UA4DtB,CAAA"}
|
|
@@ -11,7 +11,7 @@ const profile_1 = require("../profile");
|
|
|
11
11
|
* @public
|
|
12
12
|
*/
|
|
13
13
|
exports.profiles = {
|
|
14
|
-
validate: async ({
|
|
14
|
+
validate: async ({ externalCalls, theGraphClient }, deployment) => {
|
|
15
15
|
const pointers = deployment.entity.pointers;
|
|
16
16
|
const ethAddress = externalCalls.ownerAddress(deployment.auditInfo);
|
|
17
17
|
if (pointers.length !== 1)
|
|
@@ -29,27 +29,16 @@ exports.profiles = {
|
|
|
29
29
|
}
|
|
30
30
|
if (deployment.entity.timestamp < index_1.ADR_75_TIMESTAMP)
|
|
31
31
|
return types_1.OK;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
const wearableUrns = await allWearablesUrns(deployment.entity);
|
|
41
|
-
if (wearableUrns.length > 0) {
|
|
42
|
-
const ownedWearables = await theGraphClient.checkForWearablesOwnershipWithTimestamp(ethAddress, wearableUrns, deployment.entity.timestamp);
|
|
43
|
-
const notOwned = wearableUrns.filter((wearable) => !ownedWearables.has(wearable));
|
|
44
|
-
if (notOwned.length > 0)
|
|
45
|
-
return (0, types_1.validationFailed)(`The following wearables (${notOwned}) are not owned by the address ${ethAddress.toLowerCase()}).`);
|
|
46
|
-
}
|
|
47
|
-
return types_1.OK;
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
logs.getLogger('profiles access checker').error(JSON.stringify(error));
|
|
51
|
-
return (0, types_1.validationFailed)('Oops. Something went wrong');
|
|
32
|
+
const names = allClaimedNames(deployment.entity);
|
|
33
|
+
const namesCheckResult = await theGraphClient.checkForNamesOwnershipWithTimestamp(ethAddress, names, deployment.entity.timestamp);
|
|
34
|
+
if (!namesCheckResult.result)
|
|
35
|
+
return (0, types_1.validationFailed)(`The following names (${namesCheckResult.failing?.join(', ')}) are not owned by the address ${ethAddress.toLowerCase()}).`);
|
|
36
|
+
const wearableUrns = await allWearablesUrns(deployment.entity);
|
|
37
|
+
const wearablesCheckResult = await theGraphClient.checkForWearablesOwnershipWithTimestamp(ethAddress, wearableUrns, deployment.entity.timestamp);
|
|
38
|
+
if (!wearablesCheckResult.result) {
|
|
39
|
+
return (0, types_1.validationFailed)(`The following wearables (${wearablesCheckResult.failing?.join(', ')}) are not owned by the address ${ethAddress.toLowerCase()}).`);
|
|
52
40
|
}
|
|
41
|
+
return types_1.OK;
|
|
53
42
|
}
|
|
54
43
|
};
|
|
55
44
|
const allClaimedNames = (entity) => entity.metadata.avatars
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../src/validations/access-checker/profiles.ts"],"names":[],"mappings":";;;AAAA,0CAAiD;AACjD,uCAA8D;AAC9D,oDAA4C;AAE5C,oCAA2C;AAC3C,wCAAsC;AAEtC;;;GAGG;AACU,QAAA,QAAQ,GAAe;IAClC,QAAQ,EAAE,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../src/validations/access-checker/profiles.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/content-validator",
|
|
3
|
-
"version": "2.0.1-
|
|
3
|
+
"version": "2.0.1-20220615200611.commit-b189ea7",
|
|
4
4
|
"description": "Catalyst content validations",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"files": [
|
|
60
60
|
"dist"
|
|
61
61
|
],
|
|
62
|
-
"commit": "
|
|
62
|
+
"commit": "b189ea7583dc8c4fe561823dbed92a290e50e03d"
|
|
63
63
|
}
|