@dcl/schemas 13.1.0 → 13.2.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"emote.d.ts","sourceRoot":"","sources":["../../../../src/platform/item/emote/emote.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,QAAQ,EAA0D,MAAM,cAAc,CAAA;AAC/F,OAAO,EAAsB,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAmB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC,aAAa,GAAG,eAAe,CAAC,GAAG;IAAE,cAAc,EAAE,cAAc,CAAA;CAAE,CAAA;AAE1G,aAAa;AACb,MAAM,MAAM,KAAK,GAAG,UAAU,CAAA;AAE9B,aAAa;AACb,yBAAiB,KAAK,CAAC;IACd,MAAM,MAAM,EAAE,UAAU,CAAC,KAAK,CAmDpC,CAAA;IAcM,MAAM,QAAQ,4DAInB,CAAA;CACH"}
1
+ {"version":3,"file":"emote.d.ts","sourceRoot":"","sources":["../../../../src/platform/item/emote/emote.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,QAAQ,EAA0D,MAAM,cAAc,CAAA;AAC/F,OAAO,EAAsB,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAmC,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC,aAAa,GAAG,eAAe,CAAC,GAAG;IAAE,cAAc,EAAE,cAAc,CAAA;CAAE,CAAA;AAE1G,aAAa;AACb,MAAM,MAAM,KAAK,GAAG,UAAU,CAAA;AAE9B,aAAa;AACb,yBAAiB,KAAK,CAAC;IACd,MAAM,MAAM,EAAE,UAAU,CAAC,KAAK,CAmDpC,CAAA;IAcM,MAAM,QAAQ,4DAKnB,CAAA;CACH"}
@@ -12,7 +12,7 @@ var Emote;
12
12
  (function (Emote) {
13
13
  Emote.schema = {
14
14
  type: 'object',
15
- properties: Object.assign(Object.assign(Object.assign(Object.assign({}, base_item_1.baseItemProperties), standard_props_1.standardProperties), third_party_props_1.thirdPartyProps), { emoteDataADR74: emote_data_adr74_1.EmoteDataADR74.schema }),
15
+ properties: Object.assign(Object.assign(Object.assign(Object.assign({}, base_item_1.baseItemProperties), standard_props_1.standardProperties), third_party_props_1.schema.properties), { emoteDataADR74: emote_data_adr74_1.EmoteDataADR74.schema }),
16
16
  additionalProperties: true,
17
17
  required: [...base_item_1.requiredBaseItemProps],
18
18
  oneOf: [
@@ -70,7 +70,8 @@ var Emote;
70
70
  Emote.validate = (0, validation_1.generateLazyValidator)(Emote.schema, [
71
71
  _isThirdPartyKeywordDef,
72
72
  _isBaseEmoteKeywordDef,
73
- __1.RangeMapping._fromLessThanOrEqualTo
73
+ __1.RangeMapping._fromLessThanOrEqualTo,
74
+ __1.Mappings._isMappingsValid
74
75
  ]);
75
76
  })(Emote = exports.Emote || (exports.Emote = {}));
76
77
  //# sourceMappingURL=emote.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emote.js","sourceRoot":"","sources":["../../../../src/platform/item/emote/emote.ts"],"names":[],"mappings":";;;AAAA,0BAA+C;AAC/C,oDAAuE;AACvE,4CAA+F;AAC/F,sDAAqE;AACrE,4DAAuE;AACvE,+DAAyD;AAOzD,aAAa;AACb,IAAiB,KAAK,CAuErB;AAvED,WAAiB,KAAK;IACP,YAAM,GAAsB;QACvC,IAAI,EAAE,QAAQ;QACd,UAAU,8DACL,8BAAkB,GAClB,mCAAkB,GAClB,mCAAe,KAClB,cAAc,EAAE,iCAAc,CAAC,MAAM,GACtC;QACD,oBAAoB,EAAE,IAAI;QAC1B,QAAQ,EAAE,CAAC,GAAG,iCAAqB,CAAC;QACpC,KAAK,EAAE;YACL;gBACE,QAAQ,EAAE,CAAC,gBAAgB,CAAC;gBAC5B,kDAAkD;gBAClD,KAAK,EAAE;oBACL;wBACE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;wBACxB,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,CAAC;wBACrE,YAAY,EAAE,IAAI;qBACnB;oBACD;wBACE,QAAQ,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC;wBACzC,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;wBACtC,YAAY,EAAE,4CAA4C;qBAC3D;oBACD;wBACE,QAAQ,EAAE;4BACR,aAAa;4BACb,0DAA0D;4BAC1D,SAAS;4BACT,IAAI;4BACJ,MAAM;4BACN,aAAa;4BACb,MAAM;4BACN,OAAO;4BACP,WAAW;4BACX,gBAAgB;yBACjB;wBACD,aAAa,EAAE,IAAI;wBACnB,UAAU,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC;wBAC3C,YAAY,EAAE,8CAA8C;qBAC7D;iBACF;gBACD,YAAY,EAAE;oBACZ,KAAK,EAAE,4DAA4D;iBACpE;aACF;SACF;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,yDAAyD;SACjE;KACF,CAAA;IAED,MAAM,uBAAuB,GAAG;QAC9B,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,CAAC,MAAe,EAAE,IAAS,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAA,gBAAY,EAAC,IAAI,CAAC;QACvE,MAAM,EAAE,KAAK;KACd,CAAA;IAED,MAAM,sBAAsB,GAAG;QAC7B,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,CAAC,MAAe,EAAE,IAAS,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAA,uBAAW,EAAC,IAAI,CAAC;QACtE,MAAM,EAAE,KAAK;KACd,CAAA;IAEY,cAAQ,GAAG,IAAA,kCAAqB,EAAC,MAAA,MAAM,EAAE;QACpD,uBAAuB;QACvB,sBAAsB;QACtB,gBAAY,CAAC,sBAAsB;KACpC,CAAC,CAAA;AACJ,CAAC,EAvEgB,KAAK,GAAL,aAAK,KAAL,aAAK,QAuErB"}
1
+ {"version":3,"file":"emote.js","sourceRoot":"","sources":["../../../../src/platform/item/emote/emote.ts"],"names":[],"mappings":";;;AAAA,0BAAyD;AACzD,oDAAuE;AACvE,4CAA+F;AAC/F,sDAAqE;AACrE,4DAAuF;AACvF,+DAAyD;AAOzD,aAAa;AACb,IAAiB,KAAK,CAwErB;AAxED,WAAiB,KAAK;IACP,YAAM,GAAsB;QACvC,IAAI,EAAE,QAAQ;QACd,UAAU,8DACL,8BAAkB,GAClB,mCAAkB,GAClB,0BAAqB,CAAC,UAAU,KACnC,cAAc,EAAE,iCAAc,CAAC,MAAM,GACtC;QACD,oBAAoB,EAAE,IAAI;QAC1B,QAAQ,EAAE,CAAC,GAAG,iCAAqB,CAAC;QACpC,KAAK,EAAE;YACL;gBACE,QAAQ,EAAE,CAAC,gBAAgB,CAAC;gBAC5B,kDAAkD;gBAClD,KAAK,EAAE;oBACL;wBACE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;wBACxB,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,CAAC;wBACrE,YAAY,EAAE,IAAI;qBACnB;oBACD;wBACE,QAAQ,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC;wBACzC,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;wBACtC,YAAY,EAAE,4CAA4C;qBAC3D;oBACD;wBACE,QAAQ,EAAE;4BACR,aAAa;4BACb,0DAA0D;4BAC1D,SAAS;4BACT,IAAI;4BACJ,MAAM;4BACN,aAAa;4BACb,MAAM;4BACN,OAAO;4BACP,WAAW;4BACX,gBAAgB;yBACjB;wBACD,aAAa,EAAE,IAAI;wBACnB,UAAU,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC;wBAC3C,YAAY,EAAE,8CAA8C;qBAC7D;iBACF;gBACD,YAAY,EAAE;oBACZ,KAAK,EAAE,4DAA4D;iBACpE;aACF;SACF;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,yDAAyD;SACjE;KACF,CAAA;IAED,MAAM,uBAAuB,GAAG;QAC9B,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,CAAC,MAAe,EAAE,IAAS,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAA,gBAAY,EAAC,IAAI,CAAC;QACvE,MAAM,EAAE,KAAK;KACd,CAAA;IAED,MAAM,sBAAsB,GAAG;QAC7B,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,CAAC,MAAe,EAAE,IAAS,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAA,uBAAW,EAAC,IAAI,CAAC;QACtE,MAAM,EAAE,KAAK;KACd,CAAA;IAEY,cAAQ,GAAG,IAAA,kCAAqB,EAAC,MAAA,MAAM,EAAE;QACpD,uBAAuB;QACvB,sBAAsB;QACtB,gBAAY,CAAC,sBAAsB;QACnC,YAAQ,CAAC,gBAAgB;KAC1B,CAAC,CAAA;AACJ,CAAC,EAxEgB,KAAK,GAAL,aAAK,KAAL,aAAK,QAwErB"}
@@ -4,7 +4,7 @@ export { Metrics } from './metrics';
4
4
  export { BodyShape } from './body-shape';
5
5
  export { StandardProps, isStandard } from './standard-props';
6
6
  export { ThirdPartyProps, isThirdParty } from './third-party-props';
7
- export * from './linked-wearable-props';
7
+ export * from './linked-wearable-mappings';
8
8
  export * from './wearable';
9
9
  export * from './emote';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/platform/item/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACnE,cAAc,yBAAyB,CAAA;AACvC,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/platform/item/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACnE,cAAc,4BAA4B,CAAA;AAC1C,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
@@ -27,7 +27,7 @@ var standard_props_1 = require("./standard-props");
27
27
  Object.defineProperty(exports, "isStandard", { enumerable: true, get: function () { return standard_props_1.isStandard; } });
28
28
  var third_party_props_1 = require("./third-party-props");
29
29
  Object.defineProperty(exports, "isThirdParty", { enumerable: true, get: function () { return third_party_props_1.isThirdParty; } });
30
- __exportStar(require("./linked-wearable-props"), exports);
30
+ __exportStar(require("./linked-wearable-mappings"), exports);
31
31
  __exportStar(require("./wearable"), exports);
32
32
  __exportStar(require("./emote"), exports);
33
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platform/item/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,2CAAwC;AAA/B,uGAAA,SAAS,OAAA;AAClB,mDAA4D;AAApC,4GAAA,UAAU,OAAA;AAClC,yDAAmE;AAAzC,iHAAA,YAAY,OAAA;AACtC,0DAAuC;AACvC,6CAA0B;AAC1B,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platform/item/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,2CAAwC;AAA/B,uGAAA,SAAS,OAAA;AAClB,mDAA4D;AAApC,4GAAA,UAAU,OAAA;AAClC,yDAAmE;AAAzC,iHAAA,YAAY,OAAA;AACtC,6DAA0C;AAC1C,6CAA0B;AAC1B,0CAAuB"}
@@ -15,6 +15,26 @@ export declare enum MappingType {
15
15
  * @alpha
16
16
  */
17
17
  export type Mapping = SingleMapping | AnyMapping | RangeMapping | MultipleMapping;
18
+ /**
19
+ * Network
20
+ * @alpha
21
+ */
22
+ export declare enum ContractNetwork {
23
+ MAINNET = "mainnet",
24
+ MATIC = "matic",
25
+ SEPOLIA = "sepolia",
26
+ AMOY = "amoy"
27
+ }
28
+ /**
29
+ * ContractAddress
30
+ * @alpha
31
+ */
32
+ export type ContractAddress = string;
33
+ /**
34
+ * Mappings
35
+ * @alpha
36
+ */
37
+ export type Mappings = Partial<Record<ContractNetwork, Record<ContractAddress, Mapping[]>>>;
18
38
  /**
19
39
  * SingleMapping
20
40
  * @alpha
@@ -81,11 +101,36 @@ export declare namespace MultipleMapping {
81
101
  const validate: ValidateFunction<Mapping>;
82
102
  }
83
103
  /**
84
- * Mappings
104
+ * Mapping
85
105
  * @alpha
86
106
  */
87
107
  export declare namespace Mapping {
88
108
  const schema: JSONSchema<Mapping>;
89
109
  const validate: ValidateFunction<Mapping>;
90
110
  }
91
- //# sourceMappingURL=linked-wearable-props.d.ts.map
111
+ /**
112
+ * Mappings
113
+ * @alpha
114
+ */
115
+ export declare namespace Mappings {
116
+ const _isMappingsValid: {
117
+ keyword: string;
118
+ validate: (schema: boolean, data: any) => boolean;
119
+ errors: boolean;
120
+ };
121
+ const innerSchema: JSONSchema<Record<ContractAddress, Mapping[]>>;
122
+ const schema: JSONSchema<Mappings>;
123
+ const validate: ValidateFunction<Mappings>;
124
+ }
125
+ export type MappingsHelper = {
126
+ getMappings(): Mappings;
127
+ addMapping(network: ContractNetwork, contractAddress: ContractAddress, mapping: Mapping): void;
128
+ includesNft(network: ContractNetwork, contractAddress: ContractAddress, tokenId: string): boolean;
129
+ };
130
+ export declare class AddMappingError extends Error {
131
+ existingMapping: Mapping;
132
+ conflictingMapping: Mapping;
133
+ constructor(message: string, existingMapping: Mapping, conflictingMapping: Mapping);
134
+ }
135
+ export declare function createMappingsHelper(initial?: Mappings): MappingsHelper;
136
+ //# sourceMappingURL=linked-wearable-mappings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked-wearable-mappings.d.ts","sourceRoot":"","sources":["../../../src/platform/item/linked-wearable-mappings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAA;AAGvC;;;GAGG;AACH,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,UAAU,GAAG,YAAY,GAAG,eAAe,CAAA;AAEjF;;;GAGG;AACH,oBAAY,eAAe;IACzB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAA;AAEpC;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;AAE3F;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAA;IACxB,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,WAAW,CAAC,GAAG,CAAA;CACtB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,WAAW,CAAC,KAAK,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAA;IAC1B,GAAG,EAAE,MAAM,EAAE,CAAA;CACd,CAAA;AAED;;;GAGG;AACH,yBAAiB,aAAa,CAAC;IACtB,MAAM,MAAM,EAAE,UAAU,CAAC,aAAa,CAQ5C,CAAA;IAEM,MAAM,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAiC,CAAA;CACjF;AAED;;;GAGG;AACH,yBAAiB,UAAU,CAAC;IACnB,MAAM,MAAM,EAAE,UAAU,CAAC,UAAU,CAOzC,CAAA;IAEM,MAAM,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAiC,CAAA;CACjF;AAED;;;GAGG;AACH,yBAAiB,YAAY,CAAC;IACrB,MAAM,sBAAsB,EAAE,iBAgBpC,CAAA;IAEM,MAAM,MAAM,EAAE,UAAU,CAAC,YAAY,CAU3C,CAAA;IAEM,MAAM,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAA2D,CAAA;CAC3G;AAED;;;GAGG;AACH,yBAAiB,eAAe,CAAC;IACxB,MAAM,MAAM,EAAE,UAAU,CAAC,eAAe,CAgB9C,CAAA;IACM,MAAM,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAiC,CAAA;CACjF;AAED;;;GAGG;AACH,yBAAiB,OAAO,CAAC;IAChB,MAAM,MAAM,EAAE,UAAU,CAAC,OAAO,CAUtC,CAAA;IAEM,MAAM,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAE7C,CAAA;CACH;AAED;;;GAGG;AACH,yBAAiB,QAAQ,CAAC;IACjB,MAAM,gBAAgB;;2BAEC,OAAO,QAAQ,GAAG;;KAU/C,CAAA;IAEM,MAAM,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC,CAYtE,CAAA;IAOM,MAAM,MAAM,EAAE,UAAU,CAAC,QAAQ,CAKvC,CAAA;IAEM,MAAM,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAG9C,CAAA;CACH;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,IAAI,QAAQ,CAAA;IACvB,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC9F,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;CAClG,CAAA;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACJ,eAAe,EAAE,OAAO;IAAS,kBAAkB,EAAE,OAAO;gBAApF,OAAO,EAAE,MAAM,EAAS,eAAe,EAAE,OAAO,EAAS,kBAAkB,EAAE,OAAO;CAGjG;AAED,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,QAAa,GAAG,cAAc,CAsG3E"}
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createMappingsHelper = exports.AddMappingError = exports.Mappings = exports.Mapping = exports.MultipleMapping = exports.RangeMapping = exports.AnyMapping = exports.SingleMapping = exports.ContractNetwork = exports.MappingType = void 0;
4
+ const validation_1 = require("../../validation");
5
+ /**
6
+ * MappingType
7
+ * @alpha
8
+ */
9
+ var MappingType;
10
+ (function (MappingType) {
11
+ MappingType["SINGLE"] = "single";
12
+ MappingType["ANY"] = "any";
13
+ MappingType["MULTIPLE"] = "multiple";
14
+ MappingType["RANGE"] = "range";
15
+ })(MappingType = exports.MappingType || (exports.MappingType = {}));
16
+ /**
17
+ * Network
18
+ * @alpha
19
+ */
20
+ var ContractNetwork;
21
+ (function (ContractNetwork) {
22
+ ContractNetwork["MAINNET"] = "mainnet";
23
+ ContractNetwork["MATIC"] = "matic";
24
+ ContractNetwork["SEPOLIA"] = "sepolia";
25
+ ContractNetwork["AMOY"] = "amoy";
26
+ })(ContractNetwork = exports.ContractNetwork || (exports.ContractNetwork = {}));
27
+ /**
28
+ * SingleMapping
29
+ * @alpha
30
+ */
31
+ var SingleMapping;
32
+ (function (SingleMapping) {
33
+ SingleMapping.schema = {
34
+ type: 'object',
35
+ properties: {
36
+ type: { type: 'string', const: MappingType.SINGLE },
37
+ id: { type: 'string', pattern: '^[0-9]+$' }
38
+ },
39
+ required: ['type', 'id'],
40
+ additionalProperties: false
41
+ };
42
+ SingleMapping.validate = (0, validation_1.generateLazyValidator)(SingleMapping.schema);
43
+ })(SingleMapping = exports.SingleMapping || (exports.SingleMapping = {}));
44
+ /**
45
+ * AnyMapping
46
+ * @alpha
47
+ */
48
+ var AnyMapping;
49
+ (function (AnyMapping) {
50
+ AnyMapping.schema = {
51
+ type: 'object',
52
+ properties: {
53
+ type: { type: 'string', const: MappingType.ANY }
54
+ },
55
+ required: ['type'],
56
+ additionalProperties: false
57
+ };
58
+ AnyMapping.validate = (0, validation_1.generateLazyValidator)(AnyMapping.schema);
59
+ })(AnyMapping = exports.AnyMapping || (exports.AnyMapping = {}));
60
+ /**
61
+ * RangeMapping
62
+ * @alpha
63
+ */
64
+ var RangeMapping;
65
+ (function (RangeMapping) {
66
+ RangeMapping._fromLessThanOrEqualTo = {
67
+ keyword: '_fromLessThanOrEqualTo',
68
+ validate: function validate(schema, data) {
69
+ if (!data || !data.from || !data.to) {
70
+ return false;
71
+ }
72
+ let { to, from } = data;
73
+ if (typeof from !== 'bigint' || typeof to !== 'bigint') {
74
+ from = BigInt(from);
75
+ to = BigInt(to);
76
+ }
77
+ return from <= to;
78
+ },
79
+ errors: false
80
+ };
81
+ RangeMapping.schema = {
82
+ type: 'object',
83
+ properties: {
84
+ type: { type: 'string', const: MappingType.RANGE },
85
+ from: { type: 'string', pattern: '^[0-9]+$' },
86
+ to: { type: 'string', pattern: '^[0-9]+$' }
87
+ },
88
+ required: ['type', 'from', 'to'],
89
+ additionalProperties: false,
90
+ _fromLessThanOrEqualTo: true
91
+ };
92
+ RangeMapping.validate = (0, validation_1.generateLazyValidator)(RangeMapping.schema, [RangeMapping._fromLessThanOrEqualTo]);
93
+ })(RangeMapping = exports.RangeMapping || (exports.RangeMapping = {}));
94
+ /**
95
+ * MultipleMapping
96
+ * @alpha
97
+ */
98
+ var MultipleMapping;
99
+ (function (MultipleMapping) {
100
+ MultipleMapping.schema = {
101
+ type: 'object',
102
+ properties: {
103
+ type: { type: 'string', const: MappingType.MULTIPLE },
104
+ ids: {
105
+ type: 'array',
106
+ items: {
107
+ type: 'string',
108
+ pattern: '^[0-9]+$'
109
+ },
110
+ minItems: 1,
111
+ uniqueItems: true
112
+ }
113
+ },
114
+ required: ['type', 'ids'],
115
+ additionalProperties: false
116
+ };
117
+ MultipleMapping.validate = (0, validation_1.generateLazyValidator)(MultipleMapping.schema);
118
+ })(MultipleMapping = exports.MultipleMapping || (exports.MultipleMapping = {}));
119
+ /**
120
+ * Mapping
121
+ * @alpha
122
+ */
123
+ var Mapping;
124
+ (function (Mapping) {
125
+ Mapping.schema = {
126
+ type: 'object',
127
+ properties: {
128
+ type: {
129
+ type: 'string',
130
+ enum: Object.values(MappingType)
131
+ }
132
+ },
133
+ required: ['type'],
134
+ oneOf: [SingleMapping.schema, AnyMapping.schema, RangeMapping.schema, MultipleMapping.schema]
135
+ };
136
+ Mapping.validate = (0, validation_1.generateLazyValidator)(Mapping.schema, [
137
+ RangeMapping._fromLessThanOrEqualTo
138
+ ]);
139
+ })(Mapping = exports.Mapping || (exports.Mapping = {}));
140
+ /**
141
+ * Mappings
142
+ * @alpha
143
+ */
144
+ var Mappings;
145
+ (function (Mappings) {
146
+ Mappings._isMappingsValid = {
147
+ keyword: '_isMappingsValid',
148
+ validate: function (schema, data) {
149
+ const itemAsThirdParty = data;
150
+ try {
151
+ createMappingsHelper(itemAsThirdParty.mappings);
152
+ }
153
+ catch (_) {
154
+ return false;
155
+ }
156
+ return true;
157
+ },
158
+ errors: false
159
+ };
160
+ Mappings.innerSchema = {
161
+ type: 'object',
162
+ patternProperties: {
163
+ '^0x[0-9a-fA-F]{40}$': {
164
+ type: 'array',
165
+ items: Mapping.schema
166
+ }
167
+ },
168
+ minProperties: 1,
169
+ required: [],
170
+ additionalProperties: false,
171
+ _isMappingsValid: true
172
+ };
173
+ const properties = Object.values(ContractNetwork).reduce((acc, network) => {
174
+ acc[network] = Mappings.innerSchema;
175
+ return acc;
176
+ }, {});
177
+ Mappings.schema = {
178
+ type: 'object',
179
+ properties,
180
+ minProperties: 1,
181
+ additionalProperties: false
182
+ };
183
+ Mappings.validate = (0, validation_1.generateLazyValidator)(Mappings.schema, [
184
+ RangeMapping._fromLessThanOrEqualTo,
185
+ Mappings._isMappingsValid
186
+ ]);
187
+ })(Mappings = exports.Mappings || (exports.Mappings = {}));
188
+ class AddMappingError extends Error {
189
+ constructor(message, existingMapping, conflictingMapping) {
190
+ super(message);
191
+ this.existingMapping = existingMapping;
192
+ this.conflictingMapping = conflictingMapping;
193
+ }
194
+ }
195
+ exports.AddMappingError = AddMappingError;
196
+ function createMappingsHelper(initial = {}) {
197
+ const mappings = {};
198
+ for (const [network, contracts] of Object.entries(initial)) {
199
+ mappings[network] = {};
200
+ for (const [contractAddress, mappingsArray] of Object.entries(contracts)) {
201
+ for (const mapping of mappingsArray) {
202
+ // We add them this way to make sure we build a valid object
203
+ addMapping(network, contractAddress, mapping);
204
+ }
205
+ }
206
+ }
207
+ function getMappings() {
208
+ return JSON.parse(JSON.stringify(mappings));
209
+ }
210
+ function overlappingCheck(mapping, other) {
211
+ switch (mapping.type) {
212
+ case MappingType.SINGLE:
213
+ switch (other.type) {
214
+ case MappingType.SINGLE:
215
+ return mapping.id === other.id;
216
+ case MappingType.ANY:
217
+ return true;
218
+ case MappingType.MULTIPLE:
219
+ return other.ids.includes(mapping.id);
220
+ case MappingType.RANGE:
221
+ return BigInt(mapping.id) >= BigInt(other.from) && BigInt(mapping.id) <= BigInt(other.to);
222
+ }
223
+ case MappingType.ANY:
224
+ return true;
225
+ case MappingType.MULTIPLE:
226
+ switch (other.type) {
227
+ case MappingType.SINGLE:
228
+ return mapping.ids.includes(other.id);
229
+ case MappingType.ANY:
230
+ return true;
231
+ case MappingType.MULTIPLE:
232
+ return mapping.ids.some((id) => other.ids.includes(id));
233
+ case MappingType.RANGE:
234
+ return mapping.ids.some((id) => BigInt(id) >= BigInt(other.from) && BigInt(id) <= BigInt(other.to));
235
+ }
236
+ case MappingType.RANGE:
237
+ switch (other.type) {
238
+ case MappingType.SINGLE:
239
+ return BigInt(other.id) >= BigInt(mapping.from) && BigInt(other.id) <= BigInt(mapping.to);
240
+ case MappingType.ANY:
241
+ return true;
242
+ case MappingType.MULTIPLE:
243
+ return other.ids.some((id) => BigInt(id) >= BigInt(mapping.from) && BigInt(id) <= BigInt(mapping.to));
244
+ case MappingType.RANGE:
245
+ return BigInt(mapping.from) <= BigInt(other.to) && BigInt(mapping.to) >= BigInt(other.from);
246
+ }
247
+ }
248
+ }
249
+ function addMapping(network, contractAddress, mapping) {
250
+ var _a, _b;
251
+ const lowerContractAddress = contractAddress.toLowerCase();
252
+ mappings[network] = (_a = mappings[network]) !== null && _a !== void 0 ? _a : {};
253
+ mappings[network][lowerContractAddress] = (_b = mappings[network][lowerContractAddress]) !== null && _b !== void 0 ? _b : [];
254
+ for (const existingMapping of mappings[network][lowerContractAddress]) {
255
+ if (overlappingCheck(existingMapping, mapping)) {
256
+ throw new AddMappingError(`Cannot add mapping to contract ${lowerContractAddress} on network ${network} because it overlaps with existing mapping`, existingMapping, mapping);
257
+ }
258
+ }
259
+ mappings[network][lowerContractAddress].push(mapping);
260
+ }
261
+ function includesNft(network, contractAddress, tokenId) {
262
+ var _a;
263
+ if (!((_a = mappings[network]) === null || _a === void 0 ? void 0 : _a[contractAddress])) {
264
+ return false;
265
+ }
266
+ return mappings[network][contractAddress].some((mapping) => {
267
+ switch (mapping.type) {
268
+ case MappingType.SINGLE:
269
+ return mapping.id === tokenId;
270
+ case MappingType.ANY:
271
+ return true;
272
+ case MappingType.MULTIPLE:
273
+ return mapping.ids.includes(tokenId);
274
+ case MappingType.RANGE:
275
+ return BigInt(tokenId) >= BigInt(mapping.from) && BigInt(tokenId) <= BigInt(mapping.to);
276
+ }
277
+ });
278
+ }
279
+ return {
280
+ addMapping,
281
+ getMappings,
282
+ includesNft
283
+ };
284
+ }
285
+ exports.createMappingsHelper = createMappingsHelper;
286
+ //# sourceMappingURL=linked-wearable-mappings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked-wearable-mappings.js","sourceRoot":"","sources":["../../../src/platform/item/linked-wearable-mappings.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,12 @@
1
1
  import { JSONSchema } from '../../validation';
2
2
  import { MerkleProof } from '../merkle-tree';
3
3
  import { BaseItem } from './base-item';
4
- import { Mapping } from './linked-wearable-props';
4
+ import { Mappings } from './linked-wearable-mappings';
5
5
  export type ThirdPartyProps = {
6
6
  merkleProof: MerkleProof;
7
7
  content: Record<string, string>;
8
- mappings?: Mapping[];
9
- };
10
- export declare const thirdPartyProps: {
11
- readonly merkleProof: JSONSchema<MerkleProof>;
12
- readonly content: {
13
- readonly type: "object";
14
- readonly nullable: false;
15
- readonly additionalProperties: {
16
- readonly type: "string";
17
- };
18
- readonly required: any[];
19
- };
20
- readonly mappings: {
21
- readonly type: "array";
22
- readonly items: JSONSchema<Mapping>;
23
- readonly minItems: 1;
24
- readonly maxItems: 1;
25
- readonly nullable: true;
26
- };
8
+ mappings?: Mappings;
27
9
  };
10
+ export declare const schema: JSONSchema<ThirdPartyProps>;
28
11
  export declare function isThirdParty<T extends BaseItem>(item: T): item is T & ThirdPartyProps;
29
12
  //# sourceMappingURL=third-party-props.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"third-party-props.d.ts","sourceRoot":"","sources":["../../../src/platform/item/third-party-props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,UAAU,EAAoB,MAAM,kBAAkB,CAAA;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,OAAO,EAAgB,MAAM,yBAAyB,CAAA;AAE/D,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAelB,CAAA;AA4BV,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,eAAe,CAErF"}
1
+ {"version":3,"file":"third-party-props.d.ts","sourceRoot":"","sources":["../../../src/platform/item/third-party-props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,UAAU,EAAoB,MAAM,kBAAkB,CAAA;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAgB,MAAM,4BAA4B,CAAA;AAEnE,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,UAAU,CAAC,eAAe,CAiB9C,CAAA;AAoBD,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,eAAe,CAErF"}
@@ -1,34 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isThirdParty = exports.thirdPartyProps = void 0;
3
+ exports.isThirdParty = exports.schema = void 0;
4
4
  const validation_1 = require("../../validation");
5
5
  const merkle_tree_1 = require("../merkle-tree");
6
- const linked_wearable_props_1 = require("./linked-wearable-props");
7
- exports.thirdPartyProps = {
8
- merkleProof: merkle_tree_1.MerkleProof.schema,
9
- content: {
10
- type: 'object',
11
- nullable: false,
12
- additionalProperties: { type: 'string' },
13
- required: []
14
- },
15
- mappings: {
16
- type: 'array',
17
- items: linked_wearable_props_1.Mapping.schema,
18
- minItems: 1,
19
- maxItems: 1,
20
- nullable: true
21
- }
22
- };
23
- const schema = {
6
+ const linked_wearable_mappings_1 = require("./linked-wearable-mappings");
7
+ exports.schema = {
24
8
  type: 'object',
25
- properties: Object.assign({}, exports.thirdPartyProps),
9
+ properties: {
10
+ merkleProof: merkle_tree_1.MerkleProof.schema,
11
+ content: {
12
+ type: 'object',
13
+ nullable: false,
14
+ additionalProperties: { type: 'string' },
15
+ required: []
16
+ },
17
+ mappings: Object.assign({ nullable: true }, linked_wearable_mappings_1.Mappings.schema)
18
+ },
26
19
  required: ['merkleProof', 'content'],
27
20
  _containsHashingKeys: true
28
21
  };
29
22
  const _containsHashingKeys = {
30
23
  keyword: '_containsHashingKeys',
31
- validate: (schema, data) => {
24
+ validate: function (schema, data) {
32
25
  var _a;
33
26
  const itemAsThirdParty = data;
34
27
  if ((_a = itemAsThirdParty === null || itemAsThirdParty === void 0 ? void 0 : itemAsThirdParty.merkleProof) === null || _a === void 0 ? void 0 : _a.hashingKeys) {
@@ -38,9 +31,10 @@ const _containsHashingKeys = {
38
31
  },
39
32
  errors: false
40
33
  };
41
- const validate = (0, validation_1.generateLazyValidator)(schema, [
34
+ const validate = (0, validation_1.generateLazyValidator)(exports.schema, [
42
35
  _containsHashingKeys,
43
- linked_wearable_props_1.RangeMapping._fromLessThanOrEqualTo
36
+ linked_wearable_mappings_1.RangeMapping._fromLessThanOrEqualTo,
37
+ linked_wearable_mappings_1.Mappings._isMappingsValid
44
38
  ]);
45
39
  function isThirdParty(item) {
46
40
  return validate(item);
@@ -1 +1 @@
1
- {"version":3,"file":"third-party-props.js","sourceRoot":"","sources":["../../../src/platform/item/third-party-props.ts"],"names":[],"mappings":";;;AAAA,iDAAsF;AACtF,gDAA4C;AAE5C,mEAA+D;AAQlD,QAAA,eAAe,GAAG;IAC7B,WAAW,EAAE,yBAAW,CAAC,MAAM;IAC/B,OAAO,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,KAAK;QACf,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxC,QAAQ,EAAE,EAAW;KACtB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,+BAAO,CAAC,MAAM;QACrB,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,IAAI;KACf;CACO,CAAA;AAEV,MAAM,MAAM,GAAgC;IAC1C,IAAI,EAAE,QAAQ;IACd,UAAU,oBACL,uBAAe,CACnB;IACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;IACpC,oBAAoB,EAAE,IAAI;CAC3B,CAAA;AAED,MAAM,oBAAoB,GAAG;IAC3B,OAAO,EAAE,sBAAsB;IAC/B,QAAQ,EAAE,CAAC,MAAe,EAAE,IAAS,EAAE,EAAE;;QACvC,MAAM,gBAAgB,GAAG,IAAuB,CAAA;QAChD,IAAI,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,0CAAE,WAAW,EAAE;YAC9C,OAAO,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;SACrG;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,EAAE,KAAK;CACd,CAAA;AAED,MAAM,QAAQ,GAAsC,IAAA,kCAAqB,EAAC,MAAM,EAAE;IAChF,oBAAoB;IACpB,oCAAY,CAAC,sBAAsB;CACpC,CAAC,CAAA;AAEF,SAAgB,YAAY,CAAqB,IAAO;IACtD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAFD,oCAEC"}
1
+ {"version":3,"file":"third-party-props.js","sourceRoot":"","sources":["../../../src/platform/item/third-party-props.ts"],"names":[],"mappings":";;;AAAA,iDAAsF;AACtF,gDAA4C;AAE5C,yEAAmE;AAQtD,QAAA,MAAM,GAAgC;IACjD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,WAAW,EAAE,yBAAW,CAAC,MAAM;QAC/B,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxC,QAAQ,EAAE,EAAW;SACtB;QACD,QAAQ,kBACN,QAAQ,EAAE,IAAI,IACX,mCAAQ,CAAC,MAAM,CACnB;KACF;IACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;IACpC,oBAAoB,EAAE,IAAI;CAC3B,CAAA;AAED,MAAM,oBAAoB,GAAG;IAC3B,OAAO,EAAE,sBAAsB;IAC/B,QAAQ,EAAE,UAAU,MAAe,EAAE,IAAS;;QAC5C,MAAM,gBAAgB,GAAG,IAAuB,CAAA;QAChD,IAAI,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,0CAAE,WAAW,EAAE;YAC9C,OAAO,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;SACrG;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,EAAE,KAAK;CACd,CAAA;AAED,MAAM,QAAQ,GAAsC,IAAA,kCAAqB,EAAC,cAAM,EAAE;IAChF,oBAAoB;IACpB,uCAAY,CAAC,sBAAsB;IACnC,mCAAQ,CAAC,gBAAgB;CAC1B,CAAC,CAAA;AAEF,SAAgB,YAAY,CAAqB,IAAO;IACtD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAFD,oCAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wearable.d.ts","sourceRoot":"","sources":["../../../../src/platform/item/wearable/wearable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAA2D,MAAM,cAAc,CAAA;AAChG,OAAO,EAAE,aAAa,EAAsB,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAgB,eAAe,EAAmB,MAAM,sBAAsB,CAAA;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAG9D,aAAa;AACb,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG;IAChC,IAAI,EAAE;QACJ,QAAQ,EAAE,wBAAwB,EAAE,CAAA;QACpC,KAAK,EAAE,wBAAwB,EAAE,CAAA;QACjC,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,eAAe,EAAE,sBAAsB,EAAE,CAAA;QACzC,QAAQ,EAAE,gBAAgB,CAAA;QAC1B,oBAAoB,CAAC,EAAE,wBAAwB,EAAE,CAAA;QACjD,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB,CAAA;CACF,GAAG,CAAC,aAAa,GAAG,eAAe,CAAC,CAAA;AAErC,aAAa;AACb,yBAAiB,QAAQ,CAAC;IACjB,MAAM,MAAM,EAAE,UAAU,CAAC,QAAQ,CAsEvC,CAAA;IAcD;;;;;;;;;OASG;IACI,MAAM,QAAQ,0DAInB,CAAA;CACH"}
1
+ {"version":3,"file":"wearable.d.ts","sourceRoot":"","sources":["../../../../src/platform/item/wearable/wearable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAA2D,MAAM,cAAc,CAAA;AAChG,OAAO,EAAE,aAAa,EAAsB,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAgB,eAAe,EAAmC,MAAM,sBAAsB,CAAA;AACrG,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAG9D,aAAa;AACb,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG;IAChC,IAAI,EAAE;QACJ,QAAQ,EAAE,wBAAwB,EAAE,CAAA;QACpC,KAAK,EAAE,wBAAwB,EAAE,CAAA;QACjC,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,eAAe,EAAE,sBAAsB,EAAE,CAAA;QACzC,QAAQ,EAAE,gBAAgB,CAAA;QAC1B,oBAAoB,CAAC,EAAE,wBAAwB,EAAE,CAAA;QACjD,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB,CAAA;CACF,GAAG,CAAC,aAAa,GAAG,eAAe,CAAC,CAAA;AAErC,aAAa;AACb,yBAAiB,QAAQ,CAAC;IACjB,MAAM,MAAM,EAAE,UAAU,CAAC,QAAQ,CAsEvC,CAAA;IAcD;;;;;;;;;OASG;IACI,MAAM,QAAQ,0DAKnB,CAAA;CACH"}
@@ -8,13 +8,13 @@ const base_item_1 = require("../base-item");
8
8
  const standard_props_1 = require("../standard-props");
9
9
  const third_party_props_1 = require("../third-party-props");
10
10
  const hideable_category_1 = require("./hideable-category");
11
- const linked_wearable_props_1 = require("../linked-wearable-props");
11
+ const linked_wearable_mappings_1 = require("../linked-wearable-mappings");
12
12
  /** @alpha */
13
13
  var Wearable;
14
14
  (function (Wearable) {
15
15
  Wearable.schema = {
16
16
  type: 'object',
17
- properties: Object.assign(Object.assign(Object.assign(Object.assign({}, base_item_1.baseItemProperties), standard_props_1.standardProperties), third_party_props_1.thirdPartyProps), { data: {
17
+ properties: Object.assign(Object.assign(Object.assign(Object.assign({}, base_item_1.baseItemProperties), standard_props_1.standardProperties), third_party_props_1.schema.properties.thirdPartyProps), { data: {
18
18
  type: 'object',
19
19
  properties: {
20
20
  replaces: {
@@ -55,12 +55,12 @@ var Wearable;
55
55
  oneOf: [
56
56
  {
57
57
  required: ['id', 'i18n'],
58
- prohibited: ['merkleProof', 'content', 'collectionAddress', 'rarity'],
58
+ prohibited: ['merkleProof', 'content', 'collectionAddress', 'rarity', 'mappings'],
59
59
  _isBaseAvatar: true
60
60
  },
61
61
  {
62
62
  required: [...base_item_1.requiredBaseItemProps, 'data', 'collectionAddress', 'rarity'],
63
- prohibited: ['merkleProof', 'content']
63
+ prohibited: ['merkleProof', 'content', 'mappings']
64
64
  },
65
65
  {
66
66
  required: [
@@ -101,7 +101,8 @@ var Wearable;
101
101
  Wearable.validate = (0, validation_1.generateLazyValidator)(Wearable.schema, [
102
102
  _isThirdPartyKeywordDef,
103
103
  _isBaseAvatarKeywordDef,
104
- linked_wearable_props_1.RangeMapping._fromLessThanOrEqualTo
104
+ linked_wearable_mappings_1.RangeMapping._fromLessThanOrEqualTo,
105
+ linked_wearable_mappings_1.Mappings._isMappingsValid
105
106
  ]);
106
107
  })(Wearable = exports.Wearable || (exports.Wearable = {}));
107
108
  //# sourceMappingURL=wearable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wearable.js","sourceRoot":"","sources":["../../../../src/platform/item/wearable/wearable.ts"],"names":[],"mappings":";;;AAAA,oDAAuE;AACvE,2DAAsD;AACtD,qDAAyD;AACzD,4CAAgG;AAChG,sDAAqE;AACrE,4DAAqF;AACrF,2DAA8D;AAC9D,oEAAuD;AAevD,aAAa;AACb,IAAiB,QAAQ,CAoGxB;AApGD,WAAiB,QAAQ;IACV,eAAM,GAAyB;QAC1C,IAAI,EAAE,QAAQ;QACd,UAAU,8DACL,8BAAkB,GAClB,mCAAkB,GAClB,mCAAe,KAClB,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,4CAAwB,CAAC,MAAM;qBACvC;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,4CAAwB,CAAC,MAAM;qBACvC;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,SAAS,EAAE,CAAC;yBACb;qBACF;oBACD,eAAe,EAAE;wBACf,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,uCAAsB,CAAC,MAAM;wBACpC,QAAQ,EAAE,CAAC;qBACZ;oBACD,QAAQ,EAAE,oCAAgB,CAAC,MAAM;oBACjC,oBAAoB,EAAE;wBACpB,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,4CAAwB,CAAC,MAAM;qBACvC;oBACD,cAAc,EAAE;wBACd,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,IAAI;qBACf;iBACF;gBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC;aACvE,GACF;QACD,oBAAoB,EAAE,IAAI;QAC1B,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE;YACL;gBACE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;gBACxB,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,CAAC;gBACrE,aAAa,EAAE,IAAI;aACpB;YACD;gBACE,QAAQ,EAAE,CAAC,GAAG,iCAAqB,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,CAAC;gBAC3E,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;aACvC;YACD;gBACE,QAAQ,EAAE;oBACR,GAAG,iCAAqB;oBACxB,MAAM;oBACN,aAAa;oBACb,0DAA0D;oBAC1D,SAAS;iBACV;gBACD,UAAU,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC;gBAC3C,aAAa,EAAE,IAAI;aACpB;SACF;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,kEAAkE;SAC1E;KACF,CAAA;IAED,MAAM,uBAAuB,GAAG;QAC9B,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,CAAC,MAAe,EAAE,IAAS,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAA,gCAAY,EAAC,IAAI,CAAC;QACvE,MAAM,EAAE,KAAK;KACd,CAAA;IAED,MAAM,uBAAuB,GAAG;QAC9B,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,CAAC,MAAe,EAAE,IAAS,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAA,wBAAY,EAAC,IAAI,CAAC;QACvE,MAAM,EAAE,KAAK;KACd,CAAA;IAED;;;;;;;;;OASG;IACU,iBAAQ,GAAG,IAAA,kCAAqB,EAAC,SAAA,MAAM,EAAE;QACpD,uBAAuB;QACvB,uBAAuB;QACvB,oCAAY,CAAC,sBAAsB;KACpC,CAAC,CAAA;AACJ,CAAC,EApGgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAoGxB"}
1
+ {"version":3,"file":"wearable.js","sourceRoot":"","sources":["../../../../src/platform/item/wearable/wearable.ts"],"names":[],"mappings":"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"}
package/dist/schemas.d.ts CHANGED
@@ -50,6 +50,12 @@ export declare enum AccountSortBy {
50
50
  /** @public */
51
51
  declare type Actions = typeof SCENE_UPDATE | typeof UPDATE;
52
52
 
53
+ export declare class AddMappingError extends Error {
54
+ existingMapping: Mapping;
55
+ conflictingMapping: Mapping;
56
+ constructor(message: string, existingMapping: Mapping, conflictingMapping: Mapping);
57
+ }
58
+
53
59
  export { Ajv }
54
60
 
55
61
  export declare type AnalyticsDayData = {
@@ -569,15 +575,34 @@ export declare namespace Contract {
569
575
  const validate: ValidateFunction<Contract>;
570
576
  }
571
577
 
578
+ /**
579
+ * ContractAddress
580
+ * @alpha
581
+ */
582
+ export declare type ContractAddress = string;
583
+
572
584
  export declare type ContractFilters = {
573
585
  category?: NFTCategory;
574
586
  network?: Network;
575
587
  };
576
588
 
589
+ /**
590
+ * Network
591
+ * @alpha
592
+ */
593
+ export declare enum ContractNetwork {
594
+ MAINNET = "mainnet",
595
+ MATIC = "matic",
596
+ SEPOLIA = "sepolia",
597
+ AMOY = "amoy"
598
+ }
599
+
577
600
  export declare enum ContractSortBy {
578
601
  NAME = "name"
579
602
  }
580
603
 
604
+ export declare function createMappingsHelper(initial?: Mappings): MappingsHelper;
605
+
581
606
  /**
582
607
  * This type describes the minimum deployment + AuthChain needed to synchronize
583
608
  * a deployed entity across catalysts.
@@ -1198,7 +1223,7 @@ export declare namespace Locale {
1198
1223
  export declare type Mapping = SingleMapping | AnyMapping | RangeMapping | MultipleMapping;
1199
1224
 
1200
1225
  /**
1201
- * Mappings
1226
+ * Mapping
1202
1227
  * @alpha
1203
1228
  */
1204
1229
  export declare namespace Mapping {
@@ -1206,6 +1231,33 @@ export declare namespace Mapping {
1206
1231
  const validate: ValidateFunction<Mapping>;
1207
1232
  }
1208
1233
 
1234
+ /**
1235
+ * Mappings
1236
+ * @alpha
1237
+ */
1238
+ export declare type Mappings = Partial<Record<ContractNetwork, Record<ContractAddress, Mapping[]>>>;
1239
+
1240
+ /**
1241
+ * Mappings
1242
+ * @alpha
1243
+ */
1244
+ export declare namespace Mappings {
1245
+ const _isMappingsValid: {
1246
+ keyword: string;
1247
+ validate: (schema: boolean, data: any) => boolean;
1248
+ errors: boolean;
1249
+ };
1250
+ const innerSchema: JSONSchema<Record<ContractAddress, Mapping[]>>;
1251
+ const schema: JSONSchema<Mappings>;
1252
+ const validate: ValidateFunction<Mappings>;
1253
+ }
1254
+
1255
+ export declare type MappingsHelper = {
1256
+ getMappings(): Mappings;
1257
+ addMapping(network: ContractNetwork, contractAddress: ContractAddress, mapping: Mapping): void;
1258
+ includesNft(network: ContractNetwork, contractAddress: ContractAddress, tokenId: string): boolean;
1259
+ };
1260
+
1209
1261
  /**
1210
1262
  * MappingType
1211
1263
  * @alpha
@@ -2596,7 +2648,7 @@ export declare type SyncDeployment = SnapshotSyncDeployment | PointerChangesSync
2596
2648
  export declare type ThirdPartyProps = {
2597
2649
  merkleProof: MerkleProof;
2598
2650
  content: Record<string, string>;
2599
- mappings?: Mapping[];
2651
+ mappings?: Mappings;
2600
2652
  };
2601
2653
 
2602
2654
  export declare type Trade = {
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
- "version": "13.1.0",
2
+ "version": "13.2.1",
3
3
  "name": "@dcl/schemas",
4
4
  "main": "./dist/index.js",
5
5
  "typings": "./dist/index.d.ts",
6
6
  "license": "Apache-2.0",
7
7
  "scripts": {
8
8
  "build": "tsc -p tsconfig.json",
9
+ "build:watch": "tsc -p tsconfig.json --watch",
9
10
  "test": "mocha",
10
11
  "lint": "eslint . --ext .ts",
11
12
  "lint:fix": "eslint . --ext .ts --fix",
@@ -44,5 +45,5 @@
44
45
  "files": [
45
46
  "dist"
46
47
  ],
47
- "commit": "7afd58701c480f07db4771411cc8141294e6e833"
48
+ "commit": "5d00309750cb7010c0f62cc8c15d30ae59275917"
48
49
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"linked-wearable-props.d.ts","sourceRoot":"","sources":["../../../src/platform/item/linked-wearable-props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAA;AAEvC;;;GAGG;AACH,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,UAAU,GAAG,YAAY,GAAG,eAAe,CAAA;AAEjF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAA;IACxB,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,WAAW,CAAC,GAAG,CAAA;CACtB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,WAAW,CAAC,KAAK,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAA;IAC1B,GAAG,EAAE,MAAM,EAAE,CAAA;CACd,CAAA;AAED;;;GAGG;AACH,yBAAiB,aAAa,CAAC;IACtB,MAAM,MAAM,EAAE,UAAU,CAAC,aAAa,CAQ5C,CAAA;IAEM,MAAM,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAiC,CAAA;CACjF;AAED;;;GAGG;AACH,yBAAiB,UAAU,CAAC;IACnB,MAAM,MAAM,EAAE,UAAU,CAAC,UAAU,CAOzC,CAAA;IAEM,MAAM,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAiC,CAAA;CACjF;AAED;;;GAGG;AACH,yBAAiB,YAAY,CAAC;IACrB,MAAM,sBAAsB,EAAE,iBAgBpC,CAAA;IAEM,MAAM,MAAM,EAAE,UAAU,CAAC,YAAY,CAU3C,CAAA;IAEM,MAAM,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAA2D,CAAA;CAC3G;AAED;;;GAGG;AACH,yBAAiB,eAAe,CAAC;IACxB,MAAM,MAAM,EAAE,UAAU,CAAC,eAAe,CAgB9C,CAAA;IACM,MAAM,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAiC,CAAA;CACjF;AAED;;;GAGG;AACH,yBAAiB,OAAO,CAAC;IAChB,MAAM,MAAM,EAAE,UAAU,CAAC,OAAO,CAUtC,CAAA;IAEM,MAAM,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAE7C,CAAA;CACH"}
@@ -1,129 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Mapping = exports.MultipleMapping = exports.RangeMapping = exports.AnyMapping = exports.SingleMapping = exports.MappingType = void 0;
4
- const validation_1 = require("../../validation");
5
- /**
6
- * MappingType
7
- * @alpha
8
- */
9
- var MappingType;
10
- (function (MappingType) {
11
- MappingType["SINGLE"] = "single";
12
- MappingType["ANY"] = "any";
13
- MappingType["MULTIPLE"] = "multiple";
14
- MappingType["RANGE"] = "range";
15
- })(MappingType = exports.MappingType || (exports.MappingType = {}));
16
- /**
17
- * SingleMapping
18
- * @alpha
19
- */
20
- var SingleMapping;
21
- (function (SingleMapping) {
22
- SingleMapping.schema = {
23
- type: 'object',
24
- properties: {
25
- type: { type: 'string', const: MappingType.SINGLE },
26
- id: { type: 'string', pattern: '^[0-9]+$' }
27
- },
28
- required: ['type', 'id'],
29
- additionalProperties: false
30
- };
31
- SingleMapping.validate = (0, validation_1.generateLazyValidator)(SingleMapping.schema);
32
- })(SingleMapping = exports.SingleMapping || (exports.SingleMapping = {}));
33
- /**
34
- * AnyMapping
35
- * @alpha
36
- */
37
- var AnyMapping;
38
- (function (AnyMapping) {
39
- AnyMapping.schema = {
40
- type: 'object',
41
- properties: {
42
- type: { type: 'string', const: MappingType.ANY }
43
- },
44
- required: ['type'],
45
- additionalProperties: false
46
- };
47
- AnyMapping.validate = (0, validation_1.generateLazyValidator)(AnyMapping.schema);
48
- })(AnyMapping = exports.AnyMapping || (exports.AnyMapping = {}));
49
- /**
50
- * RangeMapping
51
- * @alpha
52
- */
53
- var RangeMapping;
54
- (function (RangeMapping) {
55
- RangeMapping._fromLessThanOrEqualTo = {
56
- keyword: '_fromLessThanOrEqualTo',
57
- validate: function validate(schema, data) {
58
- if (!data || !data.from || !data.to) {
59
- return false;
60
- }
61
- let { to, from } = data;
62
- if (typeof from !== 'bigint' || typeof to !== 'bigint') {
63
- from = BigInt(from);
64
- to = BigInt(to);
65
- }
66
- return from <= to;
67
- },
68
- errors: false
69
- };
70
- RangeMapping.schema = {
71
- type: 'object',
72
- properties: {
73
- type: { type: 'string', const: MappingType.RANGE },
74
- from: { type: 'string', pattern: '^[0-9]+$' },
75
- to: { type: 'string', pattern: '^[0-9]+$' }
76
- },
77
- required: ['type', 'from', 'to'],
78
- additionalProperties: false,
79
- _fromLessThanOrEqualTo: true
80
- };
81
- RangeMapping.validate = (0, validation_1.generateLazyValidator)(RangeMapping.schema, [RangeMapping._fromLessThanOrEqualTo]);
82
- })(RangeMapping = exports.RangeMapping || (exports.RangeMapping = {}));
83
- /**
84
- * MultipleMapping
85
- * @alpha
86
- */
87
- var MultipleMapping;
88
- (function (MultipleMapping) {
89
- MultipleMapping.schema = {
90
- type: 'object',
91
- properties: {
92
- type: { type: 'string', const: MappingType.MULTIPLE },
93
- ids: {
94
- type: 'array',
95
- items: {
96
- type: 'string',
97
- pattern: '^[0-9]+$'
98
- },
99
- minItems: 1,
100
- uniqueItems: true
101
- }
102
- },
103
- required: ['type', 'ids'],
104
- additionalProperties: false
105
- };
106
- MultipleMapping.validate = (0, validation_1.generateLazyValidator)(MultipleMapping.schema);
107
- })(MultipleMapping = exports.MultipleMapping || (exports.MultipleMapping = {}));
108
- /**
109
- * Mappings
110
- * @alpha
111
- */
112
- var Mapping;
113
- (function (Mapping) {
114
- Mapping.schema = {
115
- type: 'object',
116
- properties: {
117
- type: {
118
- type: 'string',
119
- enum: Object.values(MappingType)
120
- }
121
- },
122
- required: ['type'],
123
- oneOf: [SingleMapping.schema, AnyMapping.schema, RangeMapping.schema, MultipleMapping.schema]
124
- };
125
- Mapping.validate = (0, validation_1.generateLazyValidator)(Mapping.schema, [
126
- RangeMapping._fromLessThanOrEqualTo
127
- ]);
128
- })(Mapping = exports.Mapping || (exports.Mapping = {}));
129
- //# sourceMappingURL=linked-wearable-props.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"linked-wearable-props.js","sourceRoot":"","sources":["../../../src/platform/item/linked-wearable-props.ts"],"names":[],"mappings":"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"}