@latticexyz/schema-type 1.40.0 → 1.41.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022-present Lattice Labs Ltd.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -402,3 +402,10 @@ export declare const SchemaTypeArrayToElement: {
402
402
  197: undefined;
403
403
  };
404
404
  export type DynamicSchemaType = ArraySchemaType | SchemaType.BYTES | SchemaType.STRING;
405
+ /**
406
+ * Encode a table schema into a bytes32 hex string
407
+ * Port of `Schema.sol` from `@latticexyz/store`
408
+ * @param schema The schema to encode SchemaType[]
409
+ * @returns The encoded schema as a 32 byte hex string
410
+ */
411
+ export declare function encodeSchema(schema: SchemaType[]): Uint8Array;
@@ -525,4 +525,45 @@ export const SchemaTypeArrayToElement = {
525
525
  [SchemaType.BOOL_ARRAY]: SchemaType.BOOL,
526
526
  [SchemaType.ADDRESS_ARRAY]: SchemaType.ADDRESS,
527
527
  };
528
+ /**
529
+ * Encode a table schema into a bytes32 hex string
530
+ * Port of `Schema.sol` from `@latticexyz/store`
531
+ * @param schema The schema to encode SchemaType[]
532
+ * @returns The encoded schema as a 32 byte hex string
533
+ */
534
+ export function encodeSchema(schema) {
535
+ if (schema.length > 28)
536
+ throw new Error("Schema can only have up to 28 fields");
537
+ const encodedSchema = new Uint8Array(32);
538
+ let length = 0;
539
+ let staticFields = 0;
540
+ // Compute the length of the schema and the number of static fields
541
+ // and store the schema types in the encoded schema
542
+ let hasDynamicFields = false;
543
+ for (let i = 0; i < schema.length; i++) {
544
+ const staticByteLength = getStaticByteLength(schema[i]);
545
+ // Increase the static field count if the field is static
546
+ if (staticByteLength > 0) {
547
+ // Revert if we have seen a dynamic field before, but now we see a static field
548
+ if (hasDynamicFields)
549
+ throw new Error("Static fields must come before dynamic fields in the schema");
550
+ staticFields++;
551
+ }
552
+ else {
553
+ // Flag that we have seen a dynamic field
554
+ hasDynamicFields = true;
555
+ }
556
+ length += staticByteLength;
557
+ encodedSchema[i + 4] = schema[i];
558
+ }
559
+ // Require max 14 dynamic fields
560
+ const dynamicFields = schema.length - staticFields;
561
+ if (dynamicFields > 14)
562
+ throw new Error("Schema can only have up to 14 dynamic fields");
563
+ // Store total static length, and number of static and dynamic fields
564
+ new DataView(encodedSchema.buffer).setUint16(0, length); // 2 length bytes
565
+ encodedSchema[2] = staticFields; // number of static fields
566
+ encodedSchema[3] = dynamicFields; // number of dynamic fields
567
+ return encodedSchema;
568
+ }
528
569
  //# sourceMappingURL=SchemaType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaType.js","sourceRoot":"","sources":["../../src/typescript/SchemaType.ts"],"names":[],"mappings":"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,EAAE,SAAS;IACnC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS;IACnC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IAErC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;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UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAE5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAE9C,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI;IACxC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;CAG/C,CAAC"}
1
+ {"version":3,"file":"SchemaType.js","sourceRoot":"","sources":["../../src/typescript/SchemaType.ts"],"names":[],"mappings":"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,EAAE,SAAS;IACnC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS;IACnC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IAErC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU;IACrC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IAEvC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,QAAQ;IACjC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,WAAW;IAEvC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO;IAC3B,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ;CAC9B,CAAC;AAsGF,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK;IAC1C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAE9C,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI;IACxC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK;IAC1C,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK;IAC1C,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK;IAC1C,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK;IAC1C,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK;IAC1C,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK;IAC1C,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK;IAC1C,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK;IAC1C,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK;IAC1C,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK;IAC1C,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK;IAC1C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAE5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM;IAC5C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAC9C,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;IAE9C,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI;IACxC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO;CAG/C,CAAC;AAIF;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAoB;IAC/C,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACzC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,mEAAmE;IACnE,mDAAmD;IACnD,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAExD,yDAAyD;QACzD,IAAI,gBAAgB,GAAG,CAAC,EAAE;YACxB,+EAA+E;YAC/E,IAAI,gBAAgB;gBAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACrG,YAAY,EAAE,CAAC;SAChB;aAAM;YACL,yCAAyC;YACzC,gBAAgB,GAAG,IAAI,CAAC;SACzB;QAED,MAAM,IAAI,gBAAgB,CAAC;QAC3B,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;KAClC;IAED,gCAAgC;IAChC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC;IACnD,IAAI,aAAa,GAAG,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAExF,qEAAqE;IACrE,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,iBAAiB;IAC1E,aAAa,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,0BAA0B;IAC3D,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,2BAA2B;IAE7D,OAAO,aAAa,CAAC;AACvB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@latticexyz/schema-type",
3
3
  "license": "MIT",
4
- "version": "1.40.0",
4
+ "version": "1.41.0",
5
5
  "description": "SchemaType enum for various languages",
6
6
  "main": "src/typescript/SchemaType.ts",
7
7
  "source": "src/typescript/SchemaType.ts",
@@ -28,5 +28,5 @@
28
28
  "forge-std": "https://github.com/foundry-rs/forge-std.git#b4f121555729b3afb3c5ffccb62ff4b6e2818fd3",
29
29
  "rimraf": "^3.0.2"
30
30
  },
31
- "gitHead": "914a1e0ae4a573d685841ca2ea921435057deb8f"
31
+ "gitHead": "ecac84146f0288e3a129d1d3dbfaf373db86b1ab"
32
32
  }
@@ -641,3 +641,47 @@ export const SchemaTypeArrayToElement = {
641
641
  };
642
642
 
643
643
  export type DynamicSchemaType = ArraySchemaType | SchemaType.BYTES | SchemaType.STRING;
644
+
645
+ /**
646
+ * Encode a table schema into a bytes32 hex string
647
+ * Port of `Schema.sol` from `@latticexyz/store`
648
+ * @param schema The schema to encode SchemaType[]
649
+ * @returns The encoded schema as a 32 byte hex string
650
+ */
651
+ export function encodeSchema(schema: SchemaType[]): Uint8Array {
652
+ if (schema.length > 28) throw new Error("Schema can only have up to 28 fields");
653
+ const encodedSchema = new Uint8Array(32);
654
+ let length = 0;
655
+ let staticFields = 0;
656
+
657
+ // Compute the length of the schema and the number of static fields
658
+ // and store the schema types in the encoded schema
659
+ let hasDynamicFields = false;
660
+ for (let i = 0; i < schema.length; i++) {
661
+ const staticByteLength = getStaticByteLength(schema[i]);
662
+
663
+ // Increase the static field count if the field is static
664
+ if (staticByteLength > 0) {
665
+ // Revert if we have seen a dynamic field before, but now we see a static field
666
+ if (hasDynamicFields) throw new Error("Static fields must come before dynamic fields in the schema");
667
+ staticFields++;
668
+ } else {
669
+ // Flag that we have seen a dynamic field
670
+ hasDynamicFields = true;
671
+ }
672
+
673
+ length += staticByteLength;
674
+ encodedSchema[i + 4] = schema[i];
675
+ }
676
+
677
+ // Require max 14 dynamic fields
678
+ const dynamicFields = schema.length - staticFields;
679
+ if (dynamicFields > 14) throw new Error("Schema can only have up to 14 dynamic fields");
680
+
681
+ // Store total static length, and number of static and dynamic fields
682
+ new DataView(encodedSchema.buffer).setUint16(0, length); // 2 length bytes
683
+ encodedSchema[2] = staticFields; // number of static fields
684
+ encodedSchema[3] = dynamicFields; // number of dynamic fields
685
+
686
+ return encodedSchema;
687
+ }