@latticexyz/schema-type 2.0.0-alpha.1.258 → 2.0.0-alpha.1.259
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/typescript/index.js +1 -1
- package/dist/typescript/index.js.map +1 -1
- package/package.json +2 -2
- package/src/typescript/arrayAbiTypes.ts +17 -0
- package/src/typescript/dynamicAbiTypes.test-d.ts +16 -16
- package/src/typescript/dynamicAbiTypes.ts +106 -110
- package/src/typescript/index.ts +1 -0
- package/src/typescript/schemaAbiTypes.ts +0 -1
- package/src/typescript/utils.ts +3 -1
package/dist/typescript/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t={"uint8[]":[],"uint16[]":[],"uint24[]":[],"uint32[]":[],"uint40[]":[],"uint48[]":[],"uint56[]":[],"uint64[]":[],"uint72[]":[],"uint80[]":[],"uint88[]":[],"uint96[]":[],"uint104[]":[],"uint112[]":[],"uint120[]":[],"uint128[]":[],"uint136[]":[],"uint144[]":[],"uint152[]":[],"uint160[]":[],"uint168[]":[],"uint176[]":[],"uint184[]":[],"uint192[]":[],"uint200[]":[],"uint208[]":[],"uint216[]":[],"uint224[]":[],"uint232[]":[],"uint240[]":[],"uint248[]":[],"uint256[]":[],"int8[]":[],"int16[]":[],"int24[]":[],"int32[]":[],"int40[]":[],"int48[]":[],"int56[]":[],"int64[]":[],"int72[]":[],"int80[]":[],"int88[]":[],"int96[]":[],"int104[]":[],"int112[]":[],"int120[]":[],"int128[]":[],"int136[]":[],"int144[]":[],"int152[]":[],"int160[]":[],"int168[]":[],"int176[]":[],"int184[]":[],"int192[]":[],"int200[]":[],"int208[]":[],"int216[]":[],"int224[]":[],"int232[]":[],"int240[]":[],"int248[]":[],"int256[]":[],"bytes1[]":[],"bytes2[]":[],"bytes3[]":[],"bytes4[]":[],"bytes5[]":[],"bytes6[]":[],"bytes7[]":[],"bytes8[]":[],"bytes9[]":[],"bytes10[]":[],"bytes11[]":[],"bytes12[]":[],"bytes13[]":[],"bytes14[]":[],"bytes15[]":[],"bytes16[]":[],"bytes17[]":[],"bytes18[]":[],"bytes19[]":[],"bytes20[]":[],"bytes21[]":[],"bytes22[]":[],"bytes23[]":[],"bytes24[]":[],"bytes25[]":[],"bytes26[]":[],"bytes27[]":[],"bytes28[]":[],"bytes29[]":[],"bytes30[]":[],"bytes31[]":[],"bytes32[]":[],"bool[]":[],"address[]":[],bytes:"0x",string:""};
|
|
1
|
+
var n=/\[\]$/;function s(t){return n.test(t)}function a(t){return t.replace(n,"")}var i={"uint8[]":[],"uint16[]":[],"uint24[]":[],"uint32[]":[],"uint40[]":[],"uint48[]":[],"uint56[]":[],"uint64[]":[],"uint72[]":[],"uint80[]":[],"uint88[]":[],"uint96[]":[],"uint104[]":[],"uint112[]":[],"uint120[]":[],"uint128[]":[],"uint136[]":[],"uint144[]":[],"uint152[]":[],"uint160[]":[],"uint168[]":[],"uint176[]":[],"uint184[]":[],"uint192[]":[],"uint200[]":[],"uint208[]":[],"uint216[]":[],"uint224[]":[],"uint232[]":[],"uint240[]":[],"uint248[]":[],"uint256[]":[],"int8[]":[],"int16[]":[],"int24[]":[],"int32[]":[],"int40[]":[],"int48[]":[],"int56[]":[],"int64[]":[],"int72[]":[],"int80[]":[],"int88[]":[],"int96[]":[],"int104[]":[],"int112[]":[],"int120[]":[],"int128[]":[],"int136[]":[],"int144[]":[],"int152[]":[],"int160[]":[],"int168[]":[],"int176[]":[],"int184[]":[],"int192[]":[],"int200[]":[],"int208[]":[],"int216[]":[],"int224[]":[],"int232[]":[],"int240[]":[],"int248[]":[],"int256[]":[],"bytes1[]":[],"bytes2[]":[],"bytes3[]":[],"bytes4[]":[],"bytes5[]":[],"bytes6[]":[],"bytes7[]":[],"bytes8[]":[],"bytes9[]":[],"bytes10[]":[],"bytes11[]":[],"bytes12[]":[],"bytes13[]":[],"bytes14[]":[],"bytes15[]":[],"bytes16[]":[],"bytes17[]":[],"bytes18[]":[],"bytes19[]":[],"bytes20[]":[],"bytes21[]":[],"bytes22[]":[],"bytes23[]":[],"bytes24[]":[],"bytes25[]":[],"bytes26[]":[],"bytes27[]":[],"bytes28[]":[],"bytes29[]":[],"bytes30[]":[],"bytes31[]":[],"bytes32[]":[],"bool[]":[],"address[]":[],bytes:"0x",string:""};var e=["uint8","uint16","uint24","uint32","uint40","uint48","uint56","uint64","uint72","uint80","uint88","uint96","uint104","uint112","uint120","uint128","uint136","uint144","uint152","uint160","uint168","uint176","uint184","uint192","uint200","uint208","uint216","uint224","uint232","uint240","uint248","uint256","int8","int16","int24","int32","int40","int48","int56","int64","int72","int80","int88","int96","int104","int112","int120","int128","int136","int144","int152","int160","int168","int176","int184","int192","int200","int208","int216","int224","int232","int240","int248","int256","bytes1","bytes2","bytes3","bytes4","bytes5","bytes6","bytes7","bytes8","bytes9","bytes10","bytes11","bytes12","bytes13","bytes14","bytes15","bytes16","bytes17","bytes18","bytes19","bytes20","bytes21","bytes22","bytes23","bytes24","bytes25","bytes26","bytes27","bytes28","bytes29","bytes30","bytes31","bytes32","bool","address","uint8[]","uint16[]","uint24[]","uint32[]","uint40[]","uint48[]","uint56[]","uint64[]","uint72[]","uint80[]","uint88[]","uint96[]","uint104[]","uint112[]","uint120[]","uint128[]","uint136[]","uint144[]","uint152[]","uint160[]","uint168[]","uint176[]","uint184[]","uint192[]","uint200[]","uint208[]","uint216[]","uint224[]","uint232[]","uint240[]","uint248[]","uint256[]","int8[]","int16[]","int24[]","int32[]","int40[]","int48[]","int56[]","int64[]","int72[]","int80[]","int88[]","int96[]","int104[]","int112[]","int120[]","int128[]","int136[]","int144[]","int152[]","int160[]","int168[]","int176[]","int184[]","int192[]","int200[]","int208[]","int216[]","int224[]","int232[]","int240[]","int248[]","int256[]","bytes1[]","bytes2[]","bytes3[]","bytes4[]","bytes5[]","bytes6[]","bytes7[]","bytes8[]","bytes9[]","bytes10[]","bytes11[]","bytes12[]","bytes13[]","bytes14[]","bytes15[]","bytes16[]","bytes17[]","bytes18[]","bytes19[]","bytes20[]","bytes21[]","bytes22[]","bytes23[]","bytes24[]","bytes25[]","bytes26[]","bytes27[]","bytes28[]","bytes29[]","bytes30[]","bytes31[]","bytes32[]","bool[]","address[]","bytes","string"],o=e.slice(0,98),u=e.slice(98);var y={uint8:0,uint16:0,uint24:0,uint32:0,uint40:0,uint48:0,uint56:0n,uint64:0n,uint72:0n,uint80:0n,uint88:0n,uint96:0n,uint104:0n,uint112:0n,uint120:0n,uint128:0n,uint136:0n,uint144:0n,uint152:0n,uint160:0n,uint168:0n,uint176:0n,uint184:0n,uint192:0n,uint200:0n,uint208:0n,uint216:0n,uint224:0n,uint232:0n,uint240:0n,uint248:0n,uint256:0n,int8:0,int16:0,int24:0,int32:0,int40:0,int48:0,int56:0n,int64:0n,int72:0n,int80:0n,int88:0n,int96:0n,int104:0n,int112:0n,int120:0n,int128:0n,int136:0n,int144:0n,int152:0n,int160:0n,int168:0n,int176:0n,int184:0n,int192:0n,int200:0n,int208:0n,int216:0n,int224:0n,int232:0n,int240:0n,int248:0n,int256:0n,bytes1:"0x00",bytes2:"0x0000",bytes3:"0x000000",bytes4:"0x00000000",bytes5:"0x0000000000",bytes6:"0x000000000000",bytes7:"0x00000000000000",bytes8:"0x0000000000000000",bytes9:"0x000000000000000000",bytes10:"0x00000000000000000000",bytes11:"0x0000000000000000000000",bytes12:"0x000000000000000000000000",bytes13:"0x00000000000000000000000000",bytes14:"0x0000000000000000000000000000",bytes15:"0x000000000000000000000000000000",bytes16:"0x00000000000000000000000000000000",bytes17:"0x0000000000000000000000000000000000",bytes18:"0x000000000000000000000000000000000000",bytes19:"0x00000000000000000000000000000000000000",bytes20:"0x0000000000000000000000000000000000000000",bytes21:"0x000000000000000000000000000000000000000000",bytes22:"0x00000000000000000000000000000000000000000000",bytes23:"0x0000000000000000000000000000000000000000000000",bytes24:"0x000000000000000000000000000000000000000000000000",bytes25:"0x00000000000000000000000000000000000000000000000000",bytes26:"0x0000000000000000000000000000000000000000000000000000",bytes27:"0x000000000000000000000000000000000000000000000000000000",bytes28:"0x00000000000000000000000000000000000000000000000000000000",bytes29:"0x0000000000000000000000000000000000000000000000000000000000",bytes30:"0x000000000000000000000000000000000000000000000000000000000000",bytes31:"0x00000000000000000000000000000000000000000000000000000000000000",bytes32:"0x0000000000000000000000000000000000000000000000000000000000000000",bool:!1,address:"0x0000000000000000000000000000000000000000"},d={uint8:1,uint16:2,uint24:3,uint32:4,uint40:5,uint48:6,uint56:7,uint64:9,uint72:9,uint80:10,uint88:11,uint96:12,uint104:13,uint112:14,uint120:15,uint128:16,uint136:17,uint144:18,uint152:19,uint160:20,uint168:21,uint176:22,uint184:23,uint192:24,uint200:25,uint208:26,uint216:27,uint224:28,uint232:29,uint240:30,uint248:31,uint256:32,int8:1,int16:2,int24:3,int32:4,int40:5,int48:6,int56:7,int64:9,int72:9,int80:10,int88:11,int96:12,int104:13,int112:14,int120:15,int128:16,int136:17,int144:18,int152:19,int160:20,int168:21,int176:22,int184:23,int192:24,int200:25,int208:26,int216:27,int224:28,int232:29,int240:30,int248:31,int256:32,bytes1:1,bytes2:2,bytes3:3,bytes4:4,bytes5:5,bytes6:6,bytes7:7,bytes8:8,bytes9:9,bytes10:10,bytes11:11,bytes12:12,bytes13:13,bytes14:14,bytes15:15,bytes16:16,bytes17:17,bytes18:18,bytes19:19,bytes20:20,bytes21:21,bytes22:22,bytes23:23,bytes24:24,bytes25:25,bytes26:26,bytes27:27,bytes28:28,bytes29:29,bytes30:30,bytes31:31,bytes32:32,bool:1,address:20};var A={...y,...i};export{a as arrayAbiTypeToStaticAbiType,i as dynamicAbiTypeToDefaultValue,u as dynamicAbiTypes,s as isArrayAbiType,A as schemaAbiTypeToDefaultValue,e as schemaAbiTypes,d as staticAbiTypeToByteLength,y as staticAbiTypeToDefaultValue,o as staticAbiTypes};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/typescript/dynamicAbiTypes.ts","../../src/typescript/schemaAbiTypes.ts","../../src/typescript/staticAbiTypes.ts","../../src/typescript/schemaAbiTypeToDefaultValue.ts"],"sourcesContent":["import { Hex } from \"viem\";\nimport { StaticAbiType, DynamicAbiType } from \"./schemaAbiTypes\";\nimport { LiteralToBroad } from \"./utils\";\n\n// Variable-length ABI types, where their lengths are encoded by a PackedCounter within the record\n\nexport type DynamicPrimitiveType = number[] | bigint[] | Hex[] | boolean[] | Hex | string;\n\nexport const dynamicAbiTypeToDefaultValue = {\n \"uint8[]\": [] as number[],\n \"uint16[]\": [] as number[],\n \"uint24[]\": [] as number[],\n \"uint32[]\": [] as number[],\n \"uint40[]\": [] as number[],\n \"uint48[]\": [] as number[],\n \"uint56[]\": [] as bigint[],\n \"uint64[]\": [] as bigint[],\n \"uint72[]\": [] as bigint[],\n \"uint80[]\": [] as bigint[],\n \"uint88[]\": [] as bigint[],\n \"uint96[]\": [] as bigint[],\n \"uint104[]\": [] as bigint[],\n \"uint112[]\": [] as bigint[],\n \"uint120[]\": [] as bigint[],\n \"uint128[]\": [] as bigint[],\n \"uint136[]\": [] as bigint[],\n \"uint144[]\": [] as bigint[],\n \"uint152[]\": [] as bigint[],\n \"uint160[]\": [] as bigint[],\n \"uint168[]\": [] as bigint[],\n \"uint176[]\": [] as bigint[],\n \"uint184[]\": [] as bigint[],\n \"uint192[]\": [] as bigint[],\n \"uint200[]\": [] as bigint[],\n \"uint208[]\": [] as bigint[],\n \"uint216[]\": [] as bigint[],\n \"uint224[]\": [] as bigint[],\n \"uint232[]\": [] as bigint[],\n \"uint240[]\": [] as bigint[],\n \"uint248[]\": [] as bigint[],\n \"uint256[]\": [] as bigint[],\n\n \"int8[]\": [] as number[],\n \"int16[]\": [] as number[],\n \"int24[]\": [] as number[],\n \"int32[]\": [] as number[],\n \"int40[]\": [] as number[],\n \"int48[]\": [] as number[],\n \"int56[]\": [] as bigint[],\n \"int64[]\": [] as bigint[],\n \"int72[]\": [] as bigint[],\n \"int80[]\": [] as bigint[],\n \"int88[]\": [] as bigint[],\n \"int96[]\": [] as bigint[],\n \"int104[]\": [] as bigint[],\n \"int112[]\": [] as bigint[],\n \"int120[]\": [] as bigint[],\n \"int128[]\": [] as bigint[],\n \"int136[]\": [] as bigint[],\n \"int144[]\": [] as bigint[],\n \"int152[]\": [] as bigint[],\n \"int160[]\": [] as bigint[],\n \"int168[]\": [] as bigint[],\n \"int176[]\": [] as bigint[],\n \"int184[]\": [] as bigint[],\n \"int192[]\": [] as bigint[],\n \"int200[]\": [] as bigint[],\n \"int208[]\": [] as bigint[],\n \"int216[]\": [] as bigint[],\n \"int224[]\": [] as bigint[],\n \"int232[]\": [] as bigint[],\n \"int240[]\": [] as bigint[],\n \"int248[]\": [] as bigint[],\n \"int256[]\": [] as bigint[],\n\n \"bytes1[]\": [] as Hex[],\n \"bytes2[]\": [] as Hex[],\n \"bytes3[]\": [] as Hex[],\n \"bytes4[]\": [] as Hex[],\n \"bytes5[]\": [] as Hex[],\n \"bytes6[]\": [] as Hex[],\n \"bytes7[]\": [] as Hex[],\n \"bytes8[]\": [] as Hex[],\n \"bytes9[]\": [] as Hex[],\n \"bytes10[]\": [] as Hex[],\n \"bytes11[]\": [] as Hex[],\n \"bytes12[]\": [] as Hex[],\n \"bytes13[]\": [] as Hex[],\n \"bytes14[]\": [] as Hex[],\n \"bytes15[]\": [] as Hex[],\n \"bytes16[]\": [] as Hex[],\n \"bytes17[]\": [] as Hex[],\n \"bytes18[]\": [] as Hex[],\n \"bytes19[]\": [] as Hex[],\n \"bytes20[]\": [] as Hex[],\n \"bytes21[]\": [] as Hex[],\n \"bytes22[]\": [] as Hex[],\n \"bytes23[]\": [] as Hex[],\n \"bytes24[]\": [] as Hex[],\n \"bytes25[]\": [] as Hex[],\n \"bytes26[]\": [] as Hex[],\n \"bytes27[]\": [] as Hex[],\n \"bytes28[]\": [] as Hex[],\n \"bytes29[]\": [] as Hex[],\n \"bytes30[]\": [] as Hex[],\n \"bytes31[]\": [] as Hex[],\n \"bytes32[]\": [] as Hex[],\n\n \"bool[]\": [] as boolean[],\n \"address[]\": [] as Hex[],\n\n bytes: \"0x\",\n string: \"\",\n} as const satisfies Record<DynamicAbiType, DynamicPrimitiveType>;\n\nexport type DynamicAbiTypeToPrimitiveType<TDynamicAbiType extends DynamicAbiType = DynamicAbiType> = LiteralToBroad<\n (typeof dynamicAbiTypeToDefaultValue)[TDynamicAbiType]\n>;\n\nexport type ArrayAbiTypeToStaticAbiType<T extends string> = T extends `${infer StaticAbiType}[]`\n ? StaticAbiType\n : never;\n\nexport function arrayAbiTypeToStaticAbiType<T extends `${StaticAbiType}[]`>(\n abiType: T\n): ArrayAbiTypeToStaticAbiType<T> {\n return abiType.replace(/\\[\\]$/g, \"\") as ArrayAbiTypeToStaticAbiType<T>;\n}\n","import { AbiType } from \"abitype\";\nimport { TupleSplit } from \"./utils\";\n\n// Keep this array in sync with SchemaType.sol enum\n\nexport const schemaAbiTypes = [\n \"uint8\",\n \"uint16\",\n \"uint24\",\n \"uint32\",\n \"uint40\",\n \"uint48\",\n \"uint56\",\n \"uint64\",\n \"uint72\",\n \"uint80\",\n \"uint88\",\n \"uint96\",\n \"uint104\",\n \"uint112\",\n \"uint120\",\n \"uint128\",\n \"uint136\",\n \"uint144\",\n \"uint152\",\n \"uint160\",\n \"uint168\",\n \"uint176\",\n \"uint184\",\n \"uint192\",\n \"uint200\",\n \"uint208\",\n \"uint216\",\n \"uint224\",\n \"uint232\",\n \"uint240\",\n \"uint248\",\n \"uint256\",\n \"int8\",\n \"int16\",\n \"int24\",\n \"int32\",\n \"int40\",\n \"int48\",\n \"int56\",\n \"int64\",\n \"int72\",\n \"int80\",\n \"int88\",\n \"int96\",\n \"int104\",\n \"int112\",\n \"int120\",\n \"int128\",\n \"int136\",\n \"int144\",\n \"int152\",\n \"int160\",\n \"int168\",\n \"int176\",\n \"int184\",\n \"int192\",\n \"int200\",\n \"int208\",\n \"int216\",\n \"int224\",\n \"int232\",\n \"int240\",\n \"int248\",\n \"int256\",\n \"bytes1\",\n \"bytes2\",\n \"bytes3\",\n \"bytes4\",\n \"bytes5\",\n \"bytes6\",\n \"bytes7\",\n \"bytes8\",\n \"bytes9\",\n \"bytes10\",\n \"bytes11\",\n \"bytes12\",\n \"bytes13\",\n \"bytes14\",\n \"bytes15\",\n \"bytes16\",\n \"bytes17\",\n \"bytes18\",\n \"bytes19\",\n \"bytes20\",\n \"bytes21\",\n \"bytes22\",\n \"bytes23\",\n \"bytes24\",\n \"bytes25\",\n \"bytes26\",\n \"bytes27\",\n \"bytes28\",\n \"bytes29\",\n \"bytes30\",\n \"bytes31\",\n \"bytes32\",\n \"bool\",\n \"address\",\n \"uint8[]\",\n \"uint16[]\",\n \"uint24[]\",\n \"uint32[]\",\n \"uint40[]\",\n \"uint48[]\",\n \"uint56[]\",\n \"uint64[]\",\n \"uint72[]\",\n \"uint80[]\",\n \"uint88[]\",\n \"uint96[]\",\n \"uint104[]\",\n \"uint112[]\",\n \"uint120[]\",\n \"uint128[]\",\n \"uint136[]\",\n \"uint144[]\",\n \"uint152[]\",\n \"uint160[]\",\n \"uint168[]\",\n \"uint176[]\",\n \"uint184[]\",\n \"uint192[]\",\n \"uint200[]\",\n \"uint208[]\",\n \"uint216[]\",\n \"uint224[]\",\n \"uint232[]\",\n \"uint240[]\",\n \"uint248[]\",\n \"uint256[]\",\n \"int8[]\",\n \"int16[]\",\n \"int24[]\",\n \"int32[]\",\n \"int40[]\",\n \"int48[]\",\n \"int56[]\",\n \"int64[]\",\n \"int72[]\",\n \"int80[]\",\n \"int88[]\",\n \"int96[]\",\n \"int104[]\",\n \"int112[]\",\n \"int120[]\",\n \"int128[]\",\n \"int136[]\",\n \"int144[]\",\n \"int152[]\",\n \"int160[]\",\n \"int168[]\",\n \"int176[]\",\n \"int184[]\",\n \"int192[]\",\n \"int200[]\",\n \"int208[]\",\n \"int216[]\",\n \"int224[]\",\n \"int232[]\",\n \"int240[]\",\n \"int248[]\",\n \"int256[]\",\n \"bytes1[]\",\n \"bytes2[]\",\n \"bytes3[]\",\n \"bytes4[]\",\n \"bytes5[]\",\n \"bytes6[]\",\n \"bytes7[]\",\n \"bytes8[]\",\n \"bytes9[]\",\n \"bytes10[]\",\n \"bytes11[]\",\n \"bytes12[]\",\n \"bytes13[]\",\n \"bytes14[]\",\n \"bytes15[]\",\n \"bytes16[]\",\n \"bytes17[]\",\n \"bytes18[]\",\n \"bytes19[]\",\n \"bytes20[]\",\n \"bytes21[]\",\n \"bytes22[]\",\n \"bytes23[]\",\n \"bytes24[]\",\n \"bytes25[]\",\n \"bytes26[]\",\n \"bytes27[]\",\n \"bytes28[]\",\n \"bytes29[]\",\n \"bytes30[]\",\n \"bytes31[]\",\n \"bytes32[]\",\n \"bool[]\",\n \"address[]\",\n \"bytes\",\n \"string\",\n] as const satisfies readonly AbiType[];\n\nexport type SchemaAbiType = (typeof schemaAbiTypes)[number];\n\n// These are defined here to keep the index position (98) consolidated, since we use it both in runtime code and type definition\nexport const staticAbiTypes = schemaAbiTypes.slice(0, 98) as any as TupleSplit<typeof schemaAbiTypes, 98>[0];\nexport const dynamicAbiTypes = schemaAbiTypes.slice(98) as any as TupleSplit<typeof schemaAbiTypes, 98>[1];\n\nexport type StaticAbiType = (typeof staticAbiTypes)[number];\nexport type DynamicAbiType = (typeof dynamicAbiTypes)[number];\n","import { Hex } from \"viem\";\nimport { StaticAbiType } from \"./schemaAbiTypes\";\nimport { LiteralToBroad } from \"./utils\";\n\n// Fixed-length ABI types\n\nexport type StaticPrimitiveType = number | bigint | boolean | Hex;\n\nexport const staticAbiTypeToDefaultValue = {\n uint8: 0,\n uint16: 0,\n uint24: 0,\n uint32: 0,\n uint40: 0,\n uint48: 0,\n uint56: 0n,\n uint64: 0n,\n uint72: 0n,\n uint80: 0n,\n uint88: 0n,\n uint96: 0n,\n uint104: 0n,\n uint112: 0n,\n uint120: 0n,\n uint128: 0n,\n uint136: 0n,\n uint144: 0n,\n uint152: 0n,\n uint160: 0n,\n uint168: 0n,\n uint176: 0n,\n uint184: 0n,\n uint192: 0n,\n uint200: 0n,\n uint208: 0n,\n uint216: 0n,\n uint224: 0n,\n uint232: 0n,\n uint240: 0n,\n uint248: 0n,\n uint256: 0n,\n\n int8: 0,\n int16: 0,\n int24: 0,\n int32: 0,\n int40: 0,\n int48: 0,\n int56: 0n,\n int64: 0n,\n int72: 0n,\n int80: 0n,\n int88: 0n,\n int96: 0n,\n int104: 0n,\n int112: 0n,\n int120: 0n,\n int128: 0n,\n int136: 0n,\n int144: 0n,\n int152: 0n,\n int160: 0n,\n int168: 0n,\n int176: 0n,\n int184: 0n,\n int192: 0n,\n int200: 0n,\n int208: 0n,\n int216: 0n,\n int224: 0n,\n int232: 0n,\n int240: 0n,\n int248: 0n,\n int256: 0n,\n\n bytes1: \"0x00\",\n bytes2: \"0x0000\",\n bytes3: \"0x000000\",\n bytes4: \"0x00000000\",\n bytes5: \"0x0000000000\",\n bytes6: \"0x000000000000\",\n bytes7: \"0x00000000000000\",\n bytes8: \"0x0000000000000000\",\n bytes9: \"0x000000000000000000\",\n bytes10: \"0x00000000000000000000\",\n bytes11: \"0x0000000000000000000000\",\n bytes12: \"0x000000000000000000000000\",\n bytes13: \"0x00000000000000000000000000\",\n bytes14: \"0x0000000000000000000000000000\",\n bytes15: \"0x000000000000000000000000000000\",\n bytes16: \"0x00000000000000000000000000000000\",\n bytes17: \"0x0000000000000000000000000000000000\",\n bytes18: \"0x000000000000000000000000000000000000\",\n bytes19: \"0x00000000000000000000000000000000000000\",\n bytes20: \"0x0000000000000000000000000000000000000000\",\n bytes21: \"0x000000000000000000000000000000000000000000\",\n bytes22: \"0x00000000000000000000000000000000000000000000\",\n bytes23: \"0x0000000000000000000000000000000000000000000000\",\n bytes24: \"0x000000000000000000000000000000000000000000000000\",\n bytes25: \"0x00000000000000000000000000000000000000000000000000\",\n bytes26: \"0x0000000000000000000000000000000000000000000000000000\",\n bytes27: \"0x000000000000000000000000000000000000000000000000000000\",\n bytes28: \"0x00000000000000000000000000000000000000000000000000000000\",\n bytes29: \"0x0000000000000000000000000000000000000000000000000000000000\",\n bytes30: \"0x000000000000000000000000000000000000000000000000000000000000\",\n bytes31: \"0x00000000000000000000000000000000000000000000000000000000000000\",\n bytes32: \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n\n bool: false,\n address: \"0x0000000000000000000000000000000000000000\",\n} as const satisfies Record<StaticAbiType, StaticPrimitiveType>;\n\nexport type StaticAbiTypeToPrimitiveType<TStaticAbiType extends StaticAbiType = StaticAbiType> = LiteralToBroad<\n (typeof staticAbiTypeToDefaultValue)[TStaticAbiType]\n>;\n\nexport const staticAbiTypeToByteLength = {\n uint8: 1,\n uint16: 2,\n uint24: 3,\n uint32: 4,\n uint40: 5,\n uint48: 6,\n uint56: 7,\n uint64: 9,\n uint72: 9,\n uint80: 10,\n uint88: 11,\n uint96: 12,\n uint104: 13,\n uint112: 14,\n uint120: 15,\n uint128: 16,\n uint136: 17,\n uint144: 18,\n uint152: 19,\n uint160: 20,\n uint168: 21,\n uint176: 22,\n uint184: 23,\n uint192: 24,\n uint200: 25,\n uint208: 26,\n uint216: 27,\n uint224: 28,\n uint232: 29,\n uint240: 30,\n uint248: 31,\n uint256: 32,\n\n int8: 1,\n int16: 2,\n int24: 3,\n int32: 4,\n int40: 5,\n int48: 6,\n int56: 7,\n int64: 9,\n int72: 9,\n int80: 10,\n int88: 11,\n int96: 12,\n int104: 13,\n int112: 14,\n int120: 15,\n int128: 16,\n int136: 17,\n int144: 18,\n int152: 19,\n int160: 20,\n int168: 21,\n int176: 22,\n int184: 23,\n int192: 24,\n int200: 25,\n int208: 26,\n int216: 27,\n int224: 28,\n int232: 29,\n int240: 30,\n int248: 31,\n int256: 32,\n\n bytes1: 1,\n bytes2: 2,\n bytes3: 3,\n bytes4: 4,\n bytes5: 5,\n bytes6: 6,\n bytes7: 7,\n bytes8: 8,\n bytes9: 9,\n bytes10: 10,\n bytes11: 11,\n bytes12: 12,\n bytes13: 13,\n bytes14: 14,\n bytes15: 15,\n bytes16: 16,\n bytes17: 17,\n bytes18: 18,\n bytes19: 19,\n bytes20: 20,\n bytes21: 21,\n bytes22: 22,\n bytes23: 23,\n bytes24: 24,\n bytes25: 25,\n bytes26: 26,\n bytes27: 27,\n bytes28: 28,\n bytes29: 29,\n bytes30: 30,\n bytes31: 31,\n bytes32: 32,\n\n bool: 1,\n address: 20,\n} as const satisfies Record<StaticAbiType, number>;\n","import { SchemaAbiType } from \"./schemaAbiTypes\";\nimport { DynamicAbiTypeToPrimitiveType, dynamicAbiTypeToDefaultValue } from \"./dynamicAbiTypes\";\nimport { StaticAbiTypeToPrimitiveType, staticAbiTypeToDefaultValue } from \"./staticAbiTypes\";\n\nexport const schemaAbiTypeToDefaultValue = {\n ...staticAbiTypeToDefaultValue,\n ...dynamicAbiTypeToDefaultValue,\n} as const satisfies Record<SchemaAbiType, StaticAbiTypeToPrimitiveType | DynamicAbiTypeToPrimitiveType>;\n"],"mappings":"AAQO,IAAMA,EAA+B,CAC1C,UAAW,CAAC,EACZ,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EAEd,SAAU,CAAC,EACX,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EAEb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EAEd,SAAU,CAAC,EACX,YAAa,CAAC,EAEd,MAAO,KACP,OAAQ,EACV,EAUO,SAASC,EACdC,EACgC,CAChC,OAAOA,EAAQ,QAAQ,SAAU,EAAE,CACrC,CC1HO,IAAMC,EAAiB,CAC5B,QACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,OACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WA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","names":["dynamicAbiTypeToDefaultValue","arrayAbiTypeToStaticAbiType","abiType","schemaAbiTypes","staticAbiTypes","dynamicAbiTypes","staticAbiTypeToDefaultValue","staticAbiTypeToByteLength","schemaAbiTypeToDefaultValue","staticAbiTypeToDefaultValue","dynamicAbiTypeToDefaultValue"]}
|
|
1
|
+
{"version":3,"sources":["../../src/typescript/arrayAbiTypes.ts","../../src/typescript/dynamicAbiTypes.ts","../../src/typescript/schemaAbiTypes.ts","../../src/typescript/staticAbiTypes.ts","../../src/typescript/schemaAbiTypeToDefaultValue.ts"],"sourcesContent":["import { StaticAbiType } from \"./schemaAbiTypes\";\n\nconst arrayAbiTypePattern = /\\[\\]$/;\n\nexport type ArrayAbiTypeToStaticAbiType<T extends string> = T extends `${infer StaticAbiType}[]`\n ? StaticAbiType\n : never;\n\nexport function isArrayAbiType<T extends `${StaticAbiType}[]`>(abiType: string): abiType is T {\n return arrayAbiTypePattern.test(abiType);\n}\n\nexport function arrayAbiTypeToStaticAbiType<T extends `${StaticAbiType}[]`>(\n abiType: T\n): ArrayAbiTypeToStaticAbiType<T> {\n return abiType.replace(arrayAbiTypePattern, \"\") as ArrayAbiTypeToStaticAbiType<T>;\n}\n","import { Hex } from \"viem\";\nimport { DynamicAbiType } from \"./schemaAbiTypes\";\nimport { LiteralToBroad } from \"./utils\";\n\n// Variable-length ABI types, where their lengths are encoded by a PackedCounter within the record\n\nexport type DynamicPrimitiveType =\n | readonly number[]\n | readonly bigint[]\n | readonly Hex[]\n | readonly boolean[]\n | Hex\n | string;\n\nexport const dynamicAbiTypeToDefaultValue = {\n \"uint8[]\": [] as readonly number[],\n \"uint16[]\": [] as readonly number[],\n \"uint24[]\": [] as readonly number[],\n \"uint32[]\": [] as readonly number[],\n \"uint40[]\": [] as readonly number[],\n \"uint48[]\": [] as readonly number[],\n \"uint56[]\": [] as readonly bigint[],\n \"uint64[]\": [] as readonly bigint[],\n \"uint72[]\": [] as readonly bigint[],\n \"uint80[]\": [] as readonly bigint[],\n \"uint88[]\": [] as readonly bigint[],\n \"uint96[]\": [] as readonly bigint[],\n \"uint104[]\": [] as readonly bigint[],\n \"uint112[]\": [] as readonly bigint[],\n \"uint120[]\": [] as readonly bigint[],\n \"uint128[]\": [] as readonly bigint[],\n \"uint136[]\": [] as readonly bigint[],\n \"uint144[]\": [] as readonly bigint[],\n \"uint152[]\": [] as readonly bigint[],\n \"uint160[]\": [] as readonly bigint[],\n \"uint168[]\": [] as readonly bigint[],\n \"uint176[]\": [] as readonly bigint[],\n \"uint184[]\": [] as readonly bigint[],\n \"uint192[]\": [] as readonly bigint[],\n \"uint200[]\": [] as readonly bigint[],\n \"uint208[]\": [] as readonly bigint[],\n \"uint216[]\": [] as readonly bigint[],\n \"uint224[]\": [] as readonly bigint[],\n \"uint232[]\": [] as readonly bigint[],\n \"uint240[]\": [] as readonly bigint[],\n \"uint248[]\": [] as readonly bigint[],\n \"uint256[]\": [] as readonly bigint[],\n\n \"int8[]\": [] as readonly number[],\n \"int16[]\": [] as readonly number[],\n \"int24[]\": [] as readonly number[],\n \"int32[]\": [] as readonly number[],\n \"int40[]\": [] as readonly number[],\n \"int48[]\": [] as readonly number[],\n \"int56[]\": [] as readonly bigint[],\n \"int64[]\": [] as readonly bigint[],\n \"int72[]\": [] as readonly bigint[],\n \"int80[]\": [] as readonly bigint[],\n \"int88[]\": [] as readonly bigint[],\n \"int96[]\": [] as readonly bigint[],\n \"int104[]\": [] as readonly bigint[],\n \"int112[]\": [] as readonly bigint[],\n \"int120[]\": [] as readonly bigint[],\n \"int128[]\": [] as readonly bigint[],\n \"int136[]\": [] as readonly bigint[],\n \"int144[]\": [] as readonly bigint[],\n \"int152[]\": [] as readonly bigint[],\n \"int160[]\": [] as readonly bigint[],\n \"int168[]\": [] as readonly bigint[],\n \"int176[]\": [] as readonly bigint[],\n \"int184[]\": [] as readonly bigint[],\n \"int192[]\": [] as readonly bigint[],\n \"int200[]\": [] as readonly bigint[],\n \"int208[]\": [] as readonly bigint[],\n \"int216[]\": [] as readonly bigint[],\n \"int224[]\": [] as readonly bigint[],\n \"int232[]\": [] as readonly bigint[],\n \"int240[]\": [] as readonly bigint[],\n \"int248[]\": [] as readonly bigint[],\n \"int256[]\": [] as readonly bigint[],\n\n \"bytes1[]\": [] as readonly Hex[],\n \"bytes2[]\": [] as readonly Hex[],\n \"bytes3[]\": [] as readonly Hex[],\n \"bytes4[]\": [] as readonly Hex[],\n \"bytes5[]\": [] as readonly Hex[],\n \"bytes6[]\": [] as readonly Hex[],\n \"bytes7[]\": [] as readonly Hex[],\n \"bytes8[]\": [] as readonly Hex[],\n \"bytes9[]\": [] as readonly Hex[],\n \"bytes10[]\": [] as readonly Hex[],\n \"bytes11[]\": [] as readonly Hex[],\n \"bytes12[]\": [] as readonly Hex[],\n \"bytes13[]\": [] as readonly Hex[],\n \"bytes14[]\": [] as readonly Hex[],\n \"bytes15[]\": [] as readonly Hex[],\n \"bytes16[]\": [] as readonly Hex[],\n \"bytes17[]\": [] as readonly Hex[],\n \"bytes18[]\": [] as readonly Hex[],\n \"bytes19[]\": [] as readonly Hex[],\n \"bytes20[]\": [] as readonly Hex[],\n \"bytes21[]\": [] as readonly Hex[],\n \"bytes22[]\": [] as readonly Hex[],\n \"bytes23[]\": [] as readonly Hex[],\n \"bytes24[]\": [] as readonly Hex[],\n \"bytes25[]\": [] as readonly Hex[],\n \"bytes26[]\": [] as readonly Hex[],\n \"bytes27[]\": [] as readonly Hex[],\n \"bytes28[]\": [] as readonly Hex[],\n \"bytes29[]\": [] as readonly Hex[],\n \"bytes30[]\": [] as readonly Hex[],\n \"bytes31[]\": [] as readonly Hex[],\n \"bytes32[]\": [] as readonly Hex[],\n\n \"bool[]\": [] as readonly boolean[],\n \"address[]\": [] as readonly Hex[],\n\n bytes: \"0x\",\n string: \"\",\n} as const satisfies Record<DynamicAbiType, DynamicPrimitiveType>;\n\nexport type DynamicAbiTypeToPrimitiveType<TDynamicAbiType extends DynamicAbiType = DynamicAbiType> = LiteralToBroad<\n (typeof dynamicAbiTypeToDefaultValue)[TDynamicAbiType]\n>;\n","import { AbiType } from \"abitype\";\nimport { TupleSplit } from \"./utils\";\n\n// Keep this array in sync with SchemaType.sol enum\nexport const schemaAbiTypes = [\n \"uint8\",\n \"uint16\",\n \"uint24\",\n \"uint32\",\n \"uint40\",\n \"uint48\",\n \"uint56\",\n \"uint64\",\n \"uint72\",\n \"uint80\",\n \"uint88\",\n \"uint96\",\n \"uint104\",\n \"uint112\",\n \"uint120\",\n \"uint128\",\n \"uint136\",\n \"uint144\",\n \"uint152\",\n \"uint160\",\n \"uint168\",\n \"uint176\",\n \"uint184\",\n \"uint192\",\n \"uint200\",\n \"uint208\",\n \"uint216\",\n \"uint224\",\n \"uint232\",\n \"uint240\",\n \"uint248\",\n \"uint256\",\n \"int8\",\n \"int16\",\n \"int24\",\n \"int32\",\n \"int40\",\n \"int48\",\n \"int56\",\n \"int64\",\n \"int72\",\n \"int80\",\n \"int88\",\n \"int96\",\n \"int104\",\n \"int112\",\n \"int120\",\n \"int128\",\n \"int136\",\n \"int144\",\n \"int152\",\n \"int160\",\n \"int168\",\n \"int176\",\n \"int184\",\n \"int192\",\n \"int200\",\n \"int208\",\n \"int216\",\n \"int224\",\n \"int232\",\n \"int240\",\n \"int248\",\n \"int256\",\n \"bytes1\",\n \"bytes2\",\n \"bytes3\",\n \"bytes4\",\n \"bytes5\",\n \"bytes6\",\n \"bytes7\",\n \"bytes8\",\n \"bytes9\",\n \"bytes10\",\n \"bytes11\",\n \"bytes12\",\n \"bytes13\",\n \"bytes14\",\n \"bytes15\",\n \"bytes16\",\n \"bytes17\",\n \"bytes18\",\n \"bytes19\",\n \"bytes20\",\n \"bytes21\",\n \"bytes22\",\n \"bytes23\",\n \"bytes24\",\n \"bytes25\",\n \"bytes26\",\n \"bytes27\",\n \"bytes28\",\n \"bytes29\",\n \"bytes30\",\n \"bytes31\",\n \"bytes32\",\n \"bool\",\n \"address\",\n \"uint8[]\",\n \"uint16[]\",\n \"uint24[]\",\n \"uint32[]\",\n \"uint40[]\",\n \"uint48[]\",\n \"uint56[]\",\n \"uint64[]\",\n \"uint72[]\",\n \"uint80[]\",\n \"uint88[]\",\n \"uint96[]\",\n \"uint104[]\",\n \"uint112[]\",\n \"uint120[]\",\n \"uint128[]\",\n \"uint136[]\",\n \"uint144[]\",\n \"uint152[]\",\n \"uint160[]\",\n \"uint168[]\",\n \"uint176[]\",\n \"uint184[]\",\n \"uint192[]\",\n \"uint200[]\",\n \"uint208[]\",\n \"uint216[]\",\n \"uint224[]\",\n \"uint232[]\",\n \"uint240[]\",\n \"uint248[]\",\n \"uint256[]\",\n \"int8[]\",\n \"int16[]\",\n \"int24[]\",\n \"int32[]\",\n \"int40[]\",\n \"int48[]\",\n \"int56[]\",\n \"int64[]\",\n \"int72[]\",\n \"int80[]\",\n \"int88[]\",\n \"int96[]\",\n \"int104[]\",\n \"int112[]\",\n \"int120[]\",\n \"int128[]\",\n \"int136[]\",\n \"int144[]\",\n \"int152[]\",\n \"int160[]\",\n \"int168[]\",\n \"int176[]\",\n \"int184[]\",\n \"int192[]\",\n \"int200[]\",\n \"int208[]\",\n \"int216[]\",\n \"int224[]\",\n \"int232[]\",\n \"int240[]\",\n \"int248[]\",\n \"int256[]\",\n \"bytes1[]\",\n \"bytes2[]\",\n \"bytes3[]\",\n \"bytes4[]\",\n \"bytes5[]\",\n \"bytes6[]\",\n \"bytes7[]\",\n \"bytes8[]\",\n \"bytes9[]\",\n \"bytes10[]\",\n \"bytes11[]\",\n \"bytes12[]\",\n \"bytes13[]\",\n \"bytes14[]\",\n \"bytes15[]\",\n \"bytes16[]\",\n \"bytes17[]\",\n \"bytes18[]\",\n \"bytes19[]\",\n \"bytes20[]\",\n \"bytes21[]\",\n \"bytes22[]\",\n \"bytes23[]\",\n \"bytes24[]\",\n \"bytes25[]\",\n \"bytes26[]\",\n \"bytes27[]\",\n \"bytes28[]\",\n \"bytes29[]\",\n \"bytes30[]\",\n \"bytes31[]\",\n \"bytes32[]\",\n \"bool[]\",\n \"address[]\",\n \"bytes\",\n \"string\",\n] as const satisfies readonly AbiType[];\n\nexport type SchemaAbiType = (typeof schemaAbiTypes)[number];\n\n// These are defined here to keep the index position (98) consolidated, since we use it both in runtime code and type definition\nexport const staticAbiTypes = schemaAbiTypes.slice(0, 98) as any as TupleSplit<typeof schemaAbiTypes, 98>[0];\nexport const dynamicAbiTypes = schemaAbiTypes.slice(98) as any as TupleSplit<typeof schemaAbiTypes, 98>[1];\n\nexport type StaticAbiType = (typeof staticAbiTypes)[number];\nexport type DynamicAbiType = (typeof dynamicAbiTypes)[number];\n","import { Hex } from \"viem\";\nimport { StaticAbiType } from \"./schemaAbiTypes\";\nimport { LiteralToBroad } from \"./utils\";\n\n// Fixed-length ABI types\n\nexport type StaticPrimitiveType = number | bigint | boolean | Hex;\n\nexport const staticAbiTypeToDefaultValue = {\n uint8: 0,\n uint16: 0,\n uint24: 0,\n uint32: 0,\n uint40: 0,\n uint48: 0,\n uint56: 0n,\n uint64: 0n,\n uint72: 0n,\n uint80: 0n,\n uint88: 0n,\n uint96: 0n,\n uint104: 0n,\n uint112: 0n,\n uint120: 0n,\n uint128: 0n,\n uint136: 0n,\n uint144: 0n,\n uint152: 0n,\n uint160: 0n,\n uint168: 0n,\n uint176: 0n,\n uint184: 0n,\n uint192: 0n,\n uint200: 0n,\n uint208: 0n,\n uint216: 0n,\n uint224: 0n,\n uint232: 0n,\n uint240: 0n,\n uint248: 0n,\n uint256: 0n,\n\n int8: 0,\n int16: 0,\n int24: 0,\n int32: 0,\n int40: 0,\n int48: 0,\n int56: 0n,\n int64: 0n,\n int72: 0n,\n int80: 0n,\n int88: 0n,\n int96: 0n,\n int104: 0n,\n int112: 0n,\n int120: 0n,\n int128: 0n,\n int136: 0n,\n int144: 0n,\n int152: 0n,\n int160: 0n,\n int168: 0n,\n int176: 0n,\n int184: 0n,\n int192: 0n,\n int200: 0n,\n int208: 0n,\n int216: 0n,\n int224: 0n,\n int232: 0n,\n int240: 0n,\n int248: 0n,\n int256: 0n,\n\n bytes1: \"0x00\",\n bytes2: \"0x0000\",\n bytes3: \"0x000000\",\n bytes4: \"0x00000000\",\n bytes5: \"0x0000000000\",\n bytes6: \"0x000000000000\",\n bytes7: \"0x00000000000000\",\n bytes8: \"0x0000000000000000\",\n bytes9: \"0x000000000000000000\",\n bytes10: \"0x00000000000000000000\",\n bytes11: \"0x0000000000000000000000\",\n bytes12: \"0x000000000000000000000000\",\n bytes13: \"0x00000000000000000000000000\",\n bytes14: \"0x0000000000000000000000000000\",\n bytes15: \"0x000000000000000000000000000000\",\n bytes16: \"0x00000000000000000000000000000000\",\n bytes17: \"0x0000000000000000000000000000000000\",\n bytes18: \"0x000000000000000000000000000000000000\",\n bytes19: \"0x00000000000000000000000000000000000000\",\n bytes20: \"0x0000000000000000000000000000000000000000\",\n bytes21: \"0x000000000000000000000000000000000000000000\",\n bytes22: \"0x00000000000000000000000000000000000000000000\",\n bytes23: \"0x0000000000000000000000000000000000000000000000\",\n bytes24: \"0x000000000000000000000000000000000000000000000000\",\n bytes25: \"0x00000000000000000000000000000000000000000000000000\",\n bytes26: \"0x0000000000000000000000000000000000000000000000000000\",\n bytes27: \"0x000000000000000000000000000000000000000000000000000000\",\n bytes28: \"0x00000000000000000000000000000000000000000000000000000000\",\n bytes29: \"0x0000000000000000000000000000000000000000000000000000000000\",\n bytes30: \"0x000000000000000000000000000000000000000000000000000000000000\",\n bytes31: \"0x00000000000000000000000000000000000000000000000000000000000000\",\n bytes32: \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n\n bool: false,\n address: \"0x0000000000000000000000000000000000000000\",\n} as const satisfies Record<StaticAbiType, StaticPrimitiveType>;\n\nexport type StaticAbiTypeToPrimitiveType<TStaticAbiType extends StaticAbiType = StaticAbiType> = LiteralToBroad<\n (typeof staticAbiTypeToDefaultValue)[TStaticAbiType]\n>;\n\nexport const staticAbiTypeToByteLength = {\n uint8: 1,\n uint16: 2,\n uint24: 3,\n uint32: 4,\n uint40: 5,\n uint48: 6,\n uint56: 7,\n uint64: 9,\n uint72: 9,\n uint80: 10,\n uint88: 11,\n uint96: 12,\n uint104: 13,\n uint112: 14,\n uint120: 15,\n uint128: 16,\n uint136: 17,\n uint144: 18,\n uint152: 19,\n uint160: 20,\n uint168: 21,\n uint176: 22,\n uint184: 23,\n uint192: 24,\n uint200: 25,\n uint208: 26,\n uint216: 27,\n uint224: 28,\n uint232: 29,\n uint240: 30,\n uint248: 31,\n uint256: 32,\n\n int8: 1,\n int16: 2,\n int24: 3,\n int32: 4,\n int40: 5,\n int48: 6,\n int56: 7,\n int64: 9,\n int72: 9,\n int80: 10,\n int88: 11,\n int96: 12,\n int104: 13,\n int112: 14,\n int120: 15,\n int128: 16,\n int136: 17,\n int144: 18,\n int152: 19,\n int160: 20,\n int168: 21,\n int176: 22,\n int184: 23,\n int192: 24,\n int200: 25,\n int208: 26,\n int216: 27,\n int224: 28,\n int232: 29,\n int240: 30,\n int248: 31,\n int256: 32,\n\n bytes1: 1,\n bytes2: 2,\n bytes3: 3,\n bytes4: 4,\n bytes5: 5,\n bytes6: 6,\n bytes7: 7,\n bytes8: 8,\n bytes9: 9,\n bytes10: 10,\n bytes11: 11,\n bytes12: 12,\n bytes13: 13,\n bytes14: 14,\n bytes15: 15,\n bytes16: 16,\n bytes17: 17,\n bytes18: 18,\n bytes19: 19,\n bytes20: 20,\n bytes21: 21,\n bytes22: 22,\n bytes23: 23,\n bytes24: 24,\n bytes25: 25,\n bytes26: 26,\n bytes27: 27,\n bytes28: 28,\n bytes29: 29,\n bytes30: 30,\n bytes31: 31,\n bytes32: 32,\n\n bool: 1,\n address: 20,\n} as const satisfies Record<StaticAbiType, number>;\n","import { SchemaAbiType } from \"./schemaAbiTypes\";\nimport { DynamicAbiTypeToPrimitiveType, dynamicAbiTypeToDefaultValue } from \"./dynamicAbiTypes\";\nimport { StaticAbiTypeToPrimitiveType, staticAbiTypeToDefaultValue } from \"./staticAbiTypes\";\n\nexport const schemaAbiTypeToDefaultValue = {\n ...staticAbiTypeToDefaultValue,\n ...dynamicAbiTypeToDefaultValue,\n} as const satisfies Record<SchemaAbiType, StaticAbiTypeToPrimitiveType | DynamicAbiTypeToPrimitiveType>;\n"],"mappings":"AAEA,IAAMA,EAAsB,QAMrB,SAASC,EAA+CC,EAA+B,CAC5F,OAAOF,EAAoB,KAAKE,CAAO,CACzC,CAEO,SAASC,EACdD,EACgC,CAChC,OAAOA,EAAQ,QAAQF,EAAqB,EAAE,CAChD,CCFO,IAAMI,EAA+B,CAC1C,UAAW,CAAC,EACZ,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EAEd,SAAU,CAAC,EACX,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,UAAW,CAAC,EACZ,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EAEb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,WAAY,CAAC,EACb,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EACd,YAAa,CAAC,EAEd,SAAU,CAAC,EACX,YAAa,CAAC,EAEd,MAAO,KACP,OAAQ,EACV,ECnHO,IAAMC,EAAiB,CAC5B,QACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,OACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,WACA,WAC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","names":["arrayAbiTypePattern","isArrayAbiType","abiType","arrayAbiTypeToStaticAbiType","dynamicAbiTypeToDefaultValue","schemaAbiTypes","staticAbiTypes","dynamicAbiTypes","staticAbiTypeToDefaultValue","staticAbiTypeToByteLength","schemaAbiTypeToDefaultValue","staticAbiTypeToDefaultValue","dynamicAbiTypeToDefaultValue"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@latticexyz/schema-type",
|
|
3
|
-
"version": "2.0.0-alpha.1.
|
|
3
|
+
"version": "2.0.0-alpha.1.259+6feef632",
|
|
4
4
|
"description": "SchemaType enum for various languages",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"tsup": "^6.7.0",
|
|
43
43
|
"vitest": "0.31.4"
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "6feef63218866996a2b5469011736261f780d5c4"
|
|
46
46
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { StaticAbiType } from "./schemaAbiTypes";
|
|
2
|
+
|
|
3
|
+
const arrayAbiTypePattern = /\[\]$/;
|
|
4
|
+
|
|
5
|
+
export type ArrayAbiTypeToStaticAbiType<T extends string> = T extends `${infer StaticAbiType}[]`
|
|
6
|
+
? StaticAbiType
|
|
7
|
+
: never;
|
|
8
|
+
|
|
9
|
+
export function isArrayAbiType<T extends `${StaticAbiType}[]`>(abiType: string): abiType is T {
|
|
10
|
+
return arrayAbiTypePattern.test(abiType);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function arrayAbiTypeToStaticAbiType<T extends `${StaticAbiType}[]`>(
|
|
14
|
+
abiType: T
|
|
15
|
+
): ArrayAbiTypeToStaticAbiType<T> {
|
|
16
|
+
return abiType.replace(arrayAbiTypePattern, "") as ArrayAbiTypeToStaticAbiType<T>;
|
|
17
|
+
}
|
|
@@ -4,56 +4,56 @@ import { DynamicAbiTypeToPrimitiveType } from "./dynamicAbiTypes";
|
|
|
4
4
|
|
|
5
5
|
describe("DynamicAbiTypeToPrimitiveType", () => {
|
|
6
6
|
it("maps uint8 array to number array", () => {
|
|
7
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"uint8[]">>().toMatchTypeOf<number[]>();
|
|
7
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"uint8[]">>().toMatchTypeOf<readonly number[]>();
|
|
8
8
|
});
|
|
9
9
|
it("maps uint32 array to number array", () => {
|
|
10
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"uint32[]">>().toMatchTypeOf<number[]>();
|
|
10
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"uint32[]">>().toMatchTypeOf<readonly number[]>();
|
|
11
11
|
});
|
|
12
12
|
it("maps uint48 array to number array", () => {
|
|
13
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"uint48[]">>().toMatchTypeOf<number[]>();
|
|
13
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"uint48[]">>().toMatchTypeOf<readonly number[]>();
|
|
14
14
|
});
|
|
15
15
|
it("maps uint56 array to bigint array", () => {
|
|
16
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"uint56[]">>().toMatchTypeOf<bigint[]>();
|
|
16
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"uint56[]">>().toMatchTypeOf<readonly bigint[]>();
|
|
17
17
|
});
|
|
18
18
|
it("maps uint256 array to bigint array", () => {
|
|
19
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"uint256[]">>().toMatchTypeOf<bigint[]>();
|
|
19
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"uint256[]">>().toMatchTypeOf<readonly bigint[]>();
|
|
20
20
|
});
|
|
21
21
|
|
|
22
22
|
it("maps int8 array to number array", () => {
|
|
23
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"int8[]">>().toMatchTypeOf<number[]>();
|
|
23
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"int8[]">>().toMatchTypeOf<readonly number[]>();
|
|
24
24
|
});
|
|
25
25
|
it("maps int32 array to number array", () => {
|
|
26
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"int32[]">>().toMatchTypeOf<number[]>();
|
|
26
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"int32[]">>().toMatchTypeOf<readonly number[]>();
|
|
27
27
|
});
|
|
28
28
|
it("maps int48 array to number array", () => {
|
|
29
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"int48[]">>().toMatchTypeOf<number[]>();
|
|
29
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"int48[]">>().toMatchTypeOf<readonly number[]>();
|
|
30
30
|
});
|
|
31
31
|
it("maps int56 array to bigint array", () => {
|
|
32
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"int56[]">>().toMatchTypeOf<bigint[]>();
|
|
32
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"int56[]">>().toMatchTypeOf<readonly bigint[]>();
|
|
33
33
|
});
|
|
34
34
|
it("maps int256 array to bigint array", () => {
|
|
35
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"int256[]">>().toMatchTypeOf<bigint[]>();
|
|
35
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"int256[]">>().toMatchTypeOf<readonly bigint[]>();
|
|
36
36
|
});
|
|
37
37
|
|
|
38
38
|
it("maps bytes1 array to hex array", () => {
|
|
39
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"bytes1[]">>().toMatchTypeOf<Hex[]>();
|
|
39
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"bytes1[]">>().toMatchTypeOf<readonly Hex[]>();
|
|
40
40
|
});
|
|
41
41
|
it("maps bytes2 array to hex array", () => {
|
|
42
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"bytes2[]">>().toMatchTypeOf<Hex[]>();
|
|
42
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"bytes2[]">>().toMatchTypeOf<readonly Hex[]>();
|
|
43
43
|
});
|
|
44
44
|
it("maps bytes8 array to hex array", () => {
|
|
45
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"bytes8[]">>().toMatchTypeOf<Hex[]>();
|
|
45
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"bytes8[]">>().toMatchTypeOf<readonly Hex[]>();
|
|
46
46
|
});
|
|
47
47
|
it("maps bytes32 array to hex array", () => {
|
|
48
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"bytes32[]">>().toMatchTypeOf<Hex[]>();
|
|
48
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"bytes32[]">>().toMatchTypeOf<readonly Hex[]>();
|
|
49
49
|
});
|
|
50
50
|
|
|
51
51
|
it("maps bool array to boolean array", () => {
|
|
52
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"bool[]">>().toMatchTypeOf<boolean[]>();
|
|
52
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"bool[]">>().toMatchTypeOf<readonly boolean[]>();
|
|
53
53
|
});
|
|
54
54
|
|
|
55
55
|
it("maps address array to hex array", () => {
|
|
56
|
-
expectTypeOf<DynamicAbiTypeToPrimitiveType<"address[]">>().toMatchTypeOf<Hex[]>();
|
|
56
|
+
expectTypeOf<DynamicAbiTypeToPrimitiveType<"address[]">>().toMatchTypeOf<readonly Hex[]>();
|
|
57
57
|
});
|
|
58
58
|
|
|
59
59
|
it("maps bytes to hex", () => {
|
|
@@ -1,113 +1,119 @@
|
|
|
1
1
|
import { Hex } from "viem";
|
|
2
|
-
import {
|
|
2
|
+
import { DynamicAbiType } from "./schemaAbiTypes";
|
|
3
3
|
import { LiteralToBroad } from "./utils";
|
|
4
4
|
|
|
5
5
|
// Variable-length ABI types, where their lengths are encoded by a PackedCounter within the record
|
|
6
6
|
|
|
7
|
-
export type DynamicPrimitiveType =
|
|
7
|
+
export type DynamicPrimitiveType =
|
|
8
|
+
| readonly number[]
|
|
9
|
+
| readonly bigint[]
|
|
10
|
+
| readonly Hex[]
|
|
11
|
+
| readonly boolean[]
|
|
12
|
+
| Hex
|
|
13
|
+
| string;
|
|
8
14
|
|
|
9
15
|
export const dynamicAbiTypeToDefaultValue = {
|
|
10
|
-
"uint8[]": [] as number[],
|
|
11
|
-
"uint16[]": [] as number[],
|
|
12
|
-
"uint24[]": [] as number[],
|
|
13
|
-
"uint32[]": [] as number[],
|
|
14
|
-
"uint40[]": [] as number[],
|
|
15
|
-
"uint48[]": [] as number[],
|
|
16
|
-
"uint56[]": [] as bigint[],
|
|
17
|
-
"uint64[]": [] as bigint[],
|
|
18
|
-
"uint72[]": [] as bigint[],
|
|
19
|
-
"uint80[]": [] as bigint[],
|
|
20
|
-
"uint88[]": [] as bigint[],
|
|
21
|
-
"uint96[]": [] as bigint[],
|
|
22
|
-
"uint104[]": [] as bigint[],
|
|
23
|
-
"uint112[]": [] as bigint[],
|
|
24
|
-
"uint120[]": [] as bigint[],
|
|
25
|
-
"uint128[]": [] as bigint[],
|
|
26
|
-
"uint136[]": [] as bigint[],
|
|
27
|
-
"uint144[]": [] as bigint[],
|
|
28
|
-
"uint152[]": [] as bigint[],
|
|
29
|
-
"uint160[]": [] as bigint[],
|
|
30
|
-
"uint168[]": [] as bigint[],
|
|
31
|
-
"uint176[]": [] as bigint[],
|
|
32
|
-
"uint184[]": [] as bigint[],
|
|
33
|
-
"uint192[]": [] as bigint[],
|
|
34
|
-
"uint200[]": [] as bigint[],
|
|
35
|
-
"uint208[]": [] as bigint[],
|
|
36
|
-
"uint216[]": [] as bigint[],
|
|
37
|
-
"uint224[]": [] as bigint[],
|
|
38
|
-
"uint232[]": [] as bigint[],
|
|
39
|
-
"uint240[]": [] as bigint[],
|
|
40
|
-
"uint248[]": [] as bigint[],
|
|
41
|
-
"uint256[]": [] as bigint[],
|
|
16
|
+
"uint8[]": [] as readonly number[],
|
|
17
|
+
"uint16[]": [] as readonly number[],
|
|
18
|
+
"uint24[]": [] as readonly number[],
|
|
19
|
+
"uint32[]": [] as readonly number[],
|
|
20
|
+
"uint40[]": [] as readonly number[],
|
|
21
|
+
"uint48[]": [] as readonly number[],
|
|
22
|
+
"uint56[]": [] as readonly bigint[],
|
|
23
|
+
"uint64[]": [] as readonly bigint[],
|
|
24
|
+
"uint72[]": [] as readonly bigint[],
|
|
25
|
+
"uint80[]": [] as readonly bigint[],
|
|
26
|
+
"uint88[]": [] as readonly bigint[],
|
|
27
|
+
"uint96[]": [] as readonly bigint[],
|
|
28
|
+
"uint104[]": [] as readonly bigint[],
|
|
29
|
+
"uint112[]": [] as readonly bigint[],
|
|
30
|
+
"uint120[]": [] as readonly bigint[],
|
|
31
|
+
"uint128[]": [] as readonly bigint[],
|
|
32
|
+
"uint136[]": [] as readonly bigint[],
|
|
33
|
+
"uint144[]": [] as readonly bigint[],
|
|
34
|
+
"uint152[]": [] as readonly bigint[],
|
|
35
|
+
"uint160[]": [] as readonly bigint[],
|
|
36
|
+
"uint168[]": [] as readonly bigint[],
|
|
37
|
+
"uint176[]": [] as readonly bigint[],
|
|
38
|
+
"uint184[]": [] as readonly bigint[],
|
|
39
|
+
"uint192[]": [] as readonly bigint[],
|
|
40
|
+
"uint200[]": [] as readonly bigint[],
|
|
41
|
+
"uint208[]": [] as readonly bigint[],
|
|
42
|
+
"uint216[]": [] as readonly bigint[],
|
|
43
|
+
"uint224[]": [] as readonly bigint[],
|
|
44
|
+
"uint232[]": [] as readonly bigint[],
|
|
45
|
+
"uint240[]": [] as readonly bigint[],
|
|
46
|
+
"uint248[]": [] as readonly bigint[],
|
|
47
|
+
"uint256[]": [] as readonly bigint[],
|
|
42
48
|
|
|
43
|
-
"int8[]": [] as number[],
|
|
44
|
-
"int16[]": [] as number[],
|
|
45
|
-
"int24[]": [] as number[],
|
|
46
|
-
"int32[]": [] as number[],
|
|
47
|
-
"int40[]": [] as number[],
|
|
48
|
-
"int48[]": [] as number[],
|
|
49
|
-
"int56[]": [] as bigint[],
|
|
50
|
-
"int64[]": [] as bigint[],
|
|
51
|
-
"int72[]": [] as bigint[],
|
|
52
|
-
"int80[]": [] as bigint[],
|
|
53
|
-
"int88[]": [] as bigint[],
|
|
54
|
-
"int96[]": [] as bigint[],
|
|
55
|
-
"int104[]": [] as bigint[],
|
|
56
|
-
"int112[]": [] as bigint[],
|
|
57
|
-
"int120[]": [] as bigint[],
|
|
58
|
-
"int128[]": [] as bigint[],
|
|
59
|
-
"int136[]": [] as bigint[],
|
|
60
|
-
"int144[]": [] as bigint[],
|
|
61
|
-
"int152[]": [] as bigint[],
|
|
62
|
-
"int160[]": [] as bigint[],
|
|
63
|
-
"int168[]": [] as bigint[],
|
|
64
|
-
"int176[]": [] as bigint[],
|
|
65
|
-
"int184[]": [] as bigint[],
|
|
66
|
-
"int192[]": [] as bigint[],
|
|
67
|
-
"int200[]": [] as bigint[],
|
|
68
|
-
"int208[]": [] as bigint[],
|
|
69
|
-
"int216[]": [] as bigint[],
|
|
70
|
-
"int224[]": [] as bigint[],
|
|
71
|
-
"int232[]": [] as bigint[],
|
|
72
|
-
"int240[]": [] as bigint[],
|
|
73
|
-
"int248[]": [] as bigint[],
|
|
74
|
-
"int256[]": [] as bigint[],
|
|
49
|
+
"int8[]": [] as readonly number[],
|
|
50
|
+
"int16[]": [] as readonly number[],
|
|
51
|
+
"int24[]": [] as readonly number[],
|
|
52
|
+
"int32[]": [] as readonly number[],
|
|
53
|
+
"int40[]": [] as readonly number[],
|
|
54
|
+
"int48[]": [] as readonly number[],
|
|
55
|
+
"int56[]": [] as readonly bigint[],
|
|
56
|
+
"int64[]": [] as readonly bigint[],
|
|
57
|
+
"int72[]": [] as readonly bigint[],
|
|
58
|
+
"int80[]": [] as readonly bigint[],
|
|
59
|
+
"int88[]": [] as readonly bigint[],
|
|
60
|
+
"int96[]": [] as readonly bigint[],
|
|
61
|
+
"int104[]": [] as readonly bigint[],
|
|
62
|
+
"int112[]": [] as readonly bigint[],
|
|
63
|
+
"int120[]": [] as readonly bigint[],
|
|
64
|
+
"int128[]": [] as readonly bigint[],
|
|
65
|
+
"int136[]": [] as readonly bigint[],
|
|
66
|
+
"int144[]": [] as readonly bigint[],
|
|
67
|
+
"int152[]": [] as readonly bigint[],
|
|
68
|
+
"int160[]": [] as readonly bigint[],
|
|
69
|
+
"int168[]": [] as readonly bigint[],
|
|
70
|
+
"int176[]": [] as readonly bigint[],
|
|
71
|
+
"int184[]": [] as readonly bigint[],
|
|
72
|
+
"int192[]": [] as readonly bigint[],
|
|
73
|
+
"int200[]": [] as readonly bigint[],
|
|
74
|
+
"int208[]": [] as readonly bigint[],
|
|
75
|
+
"int216[]": [] as readonly bigint[],
|
|
76
|
+
"int224[]": [] as readonly bigint[],
|
|
77
|
+
"int232[]": [] as readonly bigint[],
|
|
78
|
+
"int240[]": [] as readonly bigint[],
|
|
79
|
+
"int248[]": [] as readonly bigint[],
|
|
80
|
+
"int256[]": [] as readonly bigint[],
|
|
75
81
|
|
|
76
|
-
"bytes1[]": [] as Hex[],
|
|
77
|
-
"bytes2[]": [] as Hex[],
|
|
78
|
-
"bytes3[]": [] as Hex[],
|
|
79
|
-
"bytes4[]": [] as Hex[],
|
|
80
|
-
"bytes5[]": [] as Hex[],
|
|
81
|
-
"bytes6[]": [] as Hex[],
|
|
82
|
-
"bytes7[]": [] as Hex[],
|
|
83
|
-
"bytes8[]": [] as Hex[],
|
|
84
|
-
"bytes9[]": [] as Hex[],
|
|
85
|
-
"bytes10[]": [] as Hex[],
|
|
86
|
-
"bytes11[]": [] as Hex[],
|
|
87
|
-
"bytes12[]": [] as Hex[],
|
|
88
|
-
"bytes13[]": [] as Hex[],
|
|
89
|
-
"bytes14[]": [] as Hex[],
|
|
90
|
-
"bytes15[]": [] as Hex[],
|
|
91
|
-
"bytes16[]": [] as Hex[],
|
|
92
|
-
"bytes17[]": [] as Hex[],
|
|
93
|
-
"bytes18[]": [] as Hex[],
|
|
94
|
-
"bytes19[]": [] as Hex[],
|
|
95
|
-
"bytes20[]": [] as Hex[],
|
|
96
|
-
"bytes21[]": [] as Hex[],
|
|
97
|
-
"bytes22[]": [] as Hex[],
|
|
98
|
-
"bytes23[]": [] as Hex[],
|
|
99
|
-
"bytes24[]": [] as Hex[],
|
|
100
|
-
"bytes25[]": [] as Hex[],
|
|
101
|
-
"bytes26[]": [] as Hex[],
|
|
102
|
-
"bytes27[]": [] as Hex[],
|
|
103
|
-
"bytes28[]": [] as Hex[],
|
|
104
|
-
"bytes29[]": [] as Hex[],
|
|
105
|
-
"bytes30[]": [] as Hex[],
|
|
106
|
-
"bytes31[]": [] as Hex[],
|
|
107
|
-
"bytes32[]": [] as Hex[],
|
|
82
|
+
"bytes1[]": [] as readonly Hex[],
|
|
83
|
+
"bytes2[]": [] as readonly Hex[],
|
|
84
|
+
"bytes3[]": [] as readonly Hex[],
|
|
85
|
+
"bytes4[]": [] as readonly Hex[],
|
|
86
|
+
"bytes5[]": [] as readonly Hex[],
|
|
87
|
+
"bytes6[]": [] as readonly Hex[],
|
|
88
|
+
"bytes7[]": [] as readonly Hex[],
|
|
89
|
+
"bytes8[]": [] as readonly Hex[],
|
|
90
|
+
"bytes9[]": [] as readonly Hex[],
|
|
91
|
+
"bytes10[]": [] as readonly Hex[],
|
|
92
|
+
"bytes11[]": [] as readonly Hex[],
|
|
93
|
+
"bytes12[]": [] as readonly Hex[],
|
|
94
|
+
"bytes13[]": [] as readonly Hex[],
|
|
95
|
+
"bytes14[]": [] as readonly Hex[],
|
|
96
|
+
"bytes15[]": [] as readonly Hex[],
|
|
97
|
+
"bytes16[]": [] as readonly Hex[],
|
|
98
|
+
"bytes17[]": [] as readonly Hex[],
|
|
99
|
+
"bytes18[]": [] as readonly Hex[],
|
|
100
|
+
"bytes19[]": [] as readonly Hex[],
|
|
101
|
+
"bytes20[]": [] as readonly Hex[],
|
|
102
|
+
"bytes21[]": [] as readonly Hex[],
|
|
103
|
+
"bytes22[]": [] as readonly Hex[],
|
|
104
|
+
"bytes23[]": [] as readonly Hex[],
|
|
105
|
+
"bytes24[]": [] as readonly Hex[],
|
|
106
|
+
"bytes25[]": [] as readonly Hex[],
|
|
107
|
+
"bytes26[]": [] as readonly Hex[],
|
|
108
|
+
"bytes27[]": [] as readonly Hex[],
|
|
109
|
+
"bytes28[]": [] as readonly Hex[],
|
|
110
|
+
"bytes29[]": [] as readonly Hex[],
|
|
111
|
+
"bytes30[]": [] as readonly Hex[],
|
|
112
|
+
"bytes31[]": [] as readonly Hex[],
|
|
113
|
+
"bytes32[]": [] as readonly Hex[],
|
|
108
114
|
|
|
109
|
-
"bool[]": [] as boolean[],
|
|
110
|
-
"address[]": [] as Hex[],
|
|
115
|
+
"bool[]": [] as readonly boolean[],
|
|
116
|
+
"address[]": [] as readonly Hex[],
|
|
111
117
|
|
|
112
118
|
bytes: "0x",
|
|
113
119
|
string: "",
|
|
@@ -116,13 +122,3 @@ export const dynamicAbiTypeToDefaultValue = {
|
|
|
116
122
|
export type DynamicAbiTypeToPrimitiveType<TDynamicAbiType extends DynamicAbiType = DynamicAbiType> = LiteralToBroad<
|
|
117
123
|
(typeof dynamicAbiTypeToDefaultValue)[TDynamicAbiType]
|
|
118
124
|
>;
|
|
119
|
-
|
|
120
|
-
export type ArrayAbiTypeToStaticAbiType<T extends string> = T extends `${infer StaticAbiType}[]`
|
|
121
|
-
? StaticAbiType
|
|
122
|
-
: never;
|
|
123
|
-
|
|
124
|
-
export function arrayAbiTypeToStaticAbiType<T extends `${StaticAbiType}[]`>(
|
|
125
|
-
abiType: T
|
|
126
|
-
): ArrayAbiTypeToStaticAbiType<T> {
|
|
127
|
-
return abiType.replace(/\[\]$/g, "") as ArrayAbiTypeToStaticAbiType<T>;
|
|
128
|
-
}
|
package/src/typescript/index.ts
CHANGED
package/src/typescript/utils.ts
CHANGED
|
@@ -6,7 +6,9 @@ export type TupleSplit<T, N extends number, O extends readonly any[] = readonly
|
|
|
6
6
|
? TupleSplit<readonly [...R], N, readonly [...O, F]>
|
|
7
7
|
: [O, T];
|
|
8
8
|
|
|
9
|
-
export type LiteralToBroad<T> = T extends Array<infer Element
|
|
9
|
+
export type LiteralToBroad<T> = T extends Readonly<Array<infer Element>>
|
|
10
|
+
? readonly LiteralToBroad<Element>[]
|
|
11
|
+
: T extends Array<infer Element>
|
|
10
12
|
? LiteralToBroad<Element>[]
|
|
11
13
|
: T extends number
|
|
12
14
|
? number
|