From 018b583a369ecd4538a2d05f29b9aa9eb8dae008 Mon Sep 17 00:00:00 2001 From: dk1a Date: Wed, 16 Aug 2023 12:39:46 +0300 Subject: [PATCH] refactor(store): use _keyTupleDefinition in encodeKeyTuple --- packages/cli/contracts/src/codegen/tables/Dynamics1.sol | 6 ++++-- packages/cli/contracts/src/codegen/tables/Dynamics2.sol | 6 ++++-- packages/cli/contracts/src/codegen/tables/Ephemeral.sol | 6 ++++-- packages/cli/contracts/src/codegen/tables/Singleton.sol | 6 ++++-- packages/cli/contracts/src/codegen/tables/Statics.sol | 6 ++++-- packages/store/src/codegen/tables/Callbacks.sol | 6 ++++-- packages/store/src/codegen/tables/Hooks.sol | 6 ++++-- packages/store/src/codegen/tables/KeyEncoding.sol | 6 ++++-- packages/store/src/codegen/tables/Mixed.sol | 6 ++++-- packages/store/src/codegen/tables/StoreMetadata.sol | 6 ++++-- packages/store/src/codegen/tables/Vector2.sol | 6 ++++-- packages/store/ts/codegen/renderTable.ts | 6 +++--- .../world/src/modules/core/tables/FunctionSelectors.sol | 6 ++++-- packages/world/src/modules/core/tables/ResourceType.sol | 6 ++++-- packages/world/src/modules/core/tables/SystemHooks.sol | 6 ++++-- .../world/src/modules/core/tables/SystemRegistry.sol | 6 ++++-- packages/world/src/modules/core/tables/Systems.sol | 6 ++++-- .../world/src/modules/keysintable/tables/KeysInTable.sol | 6 ++++-- .../src/modules/keysintable/tables/UsedKeysIndex.sol | 6 ++++-- .../src/modules/keyswithvalue/tables/KeysWithValue.sol | 6 ++++-- .../src/modules/uniqueentity/tables/UniqueEntity.sol | 6 ++++-- packages/world/src/tables/InstalledModules.sol | 9 ++++----- packages/world/src/tables/NamespaceOwner.sol | 6 ++++-- packages/world/src/tables/ResourceAccess.sol | 6 ++++-- packages/world/test/tables/AddressArray.sol | 6 ++++-- packages/world/test/tables/Bool.sol | 6 ++++-- 26 files changed, 103 insertions(+), 56 deletions(-) diff --git a/packages/cli/contracts/src/codegen/tables/Dynamics1.sol b/packages/cli/contracts/src/codegen/tables/Dynamics1.sol index d6b5ceb57d0..c38b4980042 100644 --- a/packages/cli/contracts/src/codegen/tables/Dynamics1.sol +++ b/packages/cli/contracts/src/codegen/tables/Dynamics1.sol @@ -795,9 +795,11 @@ library Dynamics1 { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = key; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/cli/contracts/src/codegen/tables/Dynamics2.sol b/packages/cli/contracts/src/codegen/tables/Dynamics2.sol index 7ad7f58d487..bde63ba76db 100644 --- a/packages/cli/contracts/src/codegen/tables/Dynamics2.sol +++ b/packages/cli/contracts/src/codegen/tables/Dynamics2.sol @@ -514,9 +514,11 @@ library Dynamics2 { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = key; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/cli/contracts/src/codegen/tables/Ephemeral.sol b/packages/cli/contracts/src/codegen/tables/Ephemeral.sol index 60edaa1a0de..10b5aaa18b3 100644 --- a/packages/cli/contracts/src/codegen/tables/Ephemeral.sol +++ b/packages/cli/contracts/src/codegen/tables/Ephemeral.sol @@ -91,8 +91,10 @@ library Ephemeral { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = key; + + return _keyTuple; } } diff --git a/packages/cli/contracts/src/codegen/tables/Singleton.sol b/packages/cli/contracts/src/codegen/tables/Singleton.sol index 89390409678..416c3bd57e7 100644 --- a/packages/cli/contracts/src/codegen/tables/Singleton.sol +++ b/packages/cli/contracts/src/codegen/tables/Singleton.sol @@ -501,8 +501,10 @@ library Singleton { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple() internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](0); + function encodeKeyTuple() internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](0); + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/cli/contracts/src/codegen/tables/Statics.sol b/packages/cli/contracts/src/codegen/tables/Statics.sol index c8b3f4be8bb..d69a8c61f85 100644 --- a/packages/cli/contracts/src/codegen/tables/Statics.sol +++ b/packages/cli/contracts/src/codegen/tables/Statics.sol @@ -885,8 +885,8 @@ library Statics { bool k5, Enum1 k6, Enum2 k7 - ) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](7); + ) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](7); _keyTuple[0] = bytes32(uint256(k1)); _keyTuple[1] = bytes32(uint256(int256(k2))); _keyTuple[2] = bytes32(k3); @@ -894,6 +894,8 @@ library Statics { _keyTuple[4] = _boolToBytes32(k5); _keyTuple[5] = bytes32(uint256(uint8(k6))); _keyTuple[6] = bytes32(uint256(uint8(k7))); + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/store/src/codegen/tables/Callbacks.sol b/packages/store/src/codegen/tables/Callbacks.sol index 2383ca033d5..e0b99d416ad 100644 --- a/packages/store/src/codegen/tables/Callbacks.sol +++ b/packages/store/src/codegen/tables/Callbacks.sol @@ -193,9 +193,11 @@ library Callbacks { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = key; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/store/src/codegen/tables/Hooks.sol b/packages/store/src/codegen/tables/Hooks.sol index 2e0635f124a..89d43c38b8e 100644 --- a/packages/store/src/codegen/tables/Hooks.sol +++ b/packages/store/src/codegen/tables/Hooks.sol @@ -193,9 +193,11 @@ library Hooks { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = key; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/store/src/codegen/tables/KeyEncoding.sol b/packages/store/src/codegen/tables/KeyEncoding.sol index 11a235d6df0..090f3adc364 100644 --- a/packages/store/src/codegen/tables/KeyEncoding.sol +++ b/packages/store/src/codegen/tables/KeyEncoding.sol @@ -164,14 +164,16 @@ library KeyEncoding { address k4, bool k5, ExampleEnum k6 - ) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](6); + ) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](6); _keyTuple[0] = bytes32(uint256(k1)); _keyTuple[1] = bytes32(uint256(int256(k2))); _keyTuple[2] = bytes32(k3); _keyTuple[3] = bytes32(uint256(uint160(k4))); _keyTuple[4] = _boolToBytes32(k5); _keyTuple[5] = bytes32(uint256(uint8(k6))); + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/store/src/codegen/tables/Mixed.sol b/packages/store/src/codegen/tables/Mixed.sol index e8c0803d947..96247bedfb4 100644 --- a/packages/store/src/codegen/tables/Mixed.sol +++ b/packages/store/src/codegen/tables/Mixed.sol @@ -466,9 +466,11 @@ library Mixed { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = key; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/store/src/codegen/tables/StoreMetadata.sol b/packages/store/src/codegen/tables/StoreMetadata.sol index 1fdcb7394e6..771ee8e6adf 100644 --- a/packages/store/src/codegen/tables/StoreMetadata.sol +++ b/packages/store/src/codegen/tables/StoreMetadata.sol @@ -395,9 +395,11 @@ library StoreMetadata { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 tableId) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes32 tableId) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = tableId; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/store/src/codegen/tables/Vector2.sol b/packages/store/src/codegen/tables/Vector2.sol index 29f709a934a..7f96b6f3899 100644 --- a/packages/store/src/codegen/tables/Vector2.sol +++ b/packages/store/src/codegen/tables/Vector2.sol @@ -201,9 +201,11 @@ library Vector2 { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = key; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/store/ts/codegen/renderTable.ts b/packages/store/ts/codegen/renderTable.ts index d2d6c73ab9e..99c83c29863 100644 --- a/packages/store/ts/codegen/renderTable.ts +++ b/packages/store/ts/codegen/renderTable.ts @@ -135,9 +135,9 @@ library ${libraryName} { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(${renderArguments([_typedKeyArgs])}) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](${keyTuple.length}); - ${renderList(keyTuple, (key, index) => `_keyTuple[${index}] = ${renderValueTypeToBytes32(key.name, key)};`)} + function encodeKeyTuple(${renderArguments([_typedKeyArgs])}) internal pure returns (bytes32[] memory) { + ${_keyTupleDefinition} + return _keyTuple; } ${ diff --git a/packages/world/src/modules/core/tables/FunctionSelectors.sol b/packages/world/src/modules/core/tables/FunctionSelectors.sol index 618cc9ab0c3..b9324bdcc50 100644 --- a/packages/world/src/modules/core/tables/FunctionSelectors.sol +++ b/packages/world/src/modules/core/tables/FunctionSelectors.sol @@ -240,9 +240,11 @@ library FunctionSelectors { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes4 functionSelector) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes4 functionSelector) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = bytes32(functionSelector); + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/world/src/modules/core/tables/ResourceType.sol b/packages/world/src/modules/core/tables/ResourceType.sol index 3d33df38a1d..d62ff7576cb 100644 --- a/packages/world/src/modules/core/tables/ResourceType.sol +++ b/packages/world/src/modules/core/tables/ResourceType.sol @@ -108,9 +108,11 @@ library ResourceType { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 resourceSelector) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes32 resourceSelector) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = resourceSelector; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/world/src/modules/core/tables/SystemHooks.sol b/packages/world/src/modules/core/tables/SystemHooks.sol index 8b2300a63df..3a925791e0e 100644 --- a/packages/world/src/modules/core/tables/SystemHooks.sol +++ b/packages/world/src/modules/core/tables/SystemHooks.sol @@ -193,9 +193,11 @@ library SystemHooks { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 resourceSelector) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes32 resourceSelector) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = resourceSelector; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/world/src/modules/core/tables/SystemRegistry.sol b/packages/world/src/modules/core/tables/SystemRegistry.sol index 1dd6e9bcad0..2df68b19750 100644 --- a/packages/world/src/modules/core/tables/SystemRegistry.sol +++ b/packages/world/src/modules/core/tables/SystemRegistry.sol @@ -105,9 +105,11 @@ library SystemRegistry { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(address system) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(address system) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = bytes32(uint256(uint160(system))); + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/world/src/modules/core/tables/Systems.sol b/packages/world/src/modules/core/tables/Systems.sol index 16a250d86e0..15ea87a05ca 100644 --- a/packages/world/src/modules/core/tables/Systems.sol +++ b/packages/world/src/modules/core/tables/Systems.sol @@ -186,9 +186,11 @@ library Systems { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 resourceSelector) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes32 resourceSelector) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = resourceSelector; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/world/src/modules/keysintable/tables/KeysInTable.sol b/packages/world/src/modules/keysintable/tables/KeysInTable.sol index 274a4b14aaf..f204af1fb80 100644 --- a/packages/world/src/modules/keysintable/tables/KeysInTable.sol +++ b/packages/world/src/modules/keysintable/tables/KeysInTable.sol @@ -795,9 +795,11 @@ library KeysInTable { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 sourceTable) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes32 sourceTable) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = sourceTable; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/world/src/modules/keysintable/tables/UsedKeysIndex.sol b/packages/world/src/modules/keysintable/tables/UsedKeysIndex.sol index 8378c830cba..4bf9d9ce671 100644 --- a/packages/world/src/modules/keysintable/tables/UsedKeysIndex.sol +++ b/packages/world/src/modules/keysintable/tables/UsedKeysIndex.sol @@ -199,10 +199,12 @@ library UsedKeysIndex { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 sourceTable, bytes32 keysHash) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](2); + function encodeKeyTuple(bytes32 sourceTable, bytes32 keysHash) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](2); _keyTuple[0] = sourceTable; _keyTuple[1] = keysHash; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/world/src/modules/keyswithvalue/tables/KeysWithValue.sol b/packages/world/src/modules/keyswithvalue/tables/KeysWithValue.sol index 209ef4ee8df..397d85fe1c2 100644 --- a/packages/world/src/modules/keyswithvalue/tables/KeysWithValue.sol +++ b/packages/world/src/modules/keyswithvalue/tables/KeysWithValue.sol @@ -194,9 +194,11 @@ library KeysWithValue { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 valueHash) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes32 valueHash) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = valueHash; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/world/src/modules/uniqueentity/tables/UniqueEntity.sol b/packages/world/src/modules/uniqueentity/tables/UniqueEntity.sol index d094fad3bcc..bbcf97aca2a 100644 --- a/packages/world/src/modules/uniqueentity/tables/UniqueEntity.sol +++ b/packages/world/src/modules/uniqueentity/tables/UniqueEntity.sol @@ -97,8 +97,10 @@ library UniqueEntity { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple() internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](0); + function encodeKeyTuple() internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](0); + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/world/src/tables/InstalledModules.sol b/packages/world/src/tables/InstalledModules.sol index 136d4e6909d..aad89738e44 100644 --- a/packages/world/src/tables/InstalledModules.sol +++ b/packages/world/src/tables/InstalledModules.sol @@ -179,13 +179,12 @@ library InstalledModules { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple( - bytes16 moduleName, - bytes32 argumentsHash - ) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](2); + function encodeKeyTuple(bytes16 moduleName, bytes32 argumentsHash) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](2); _keyTuple[0] = bytes32(moduleName); _keyTuple[1] = argumentsHash; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/world/src/tables/NamespaceOwner.sol b/packages/world/src/tables/NamespaceOwner.sol index 9e5a75ed005..b509ee56749 100644 --- a/packages/world/src/tables/NamespaceOwner.sol +++ b/packages/world/src/tables/NamespaceOwner.sol @@ -105,9 +105,11 @@ library NamespaceOwner { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes16 namespace) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes16 namespace) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = bytes32(namespace); + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/world/src/tables/ResourceAccess.sol b/packages/world/src/tables/ResourceAccess.sol index 294106c30e5..0bacd48605e 100644 --- a/packages/world/src/tables/ResourceAccess.sol +++ b/packages/world/src/tables/ResourceAccess.sol @@ -110,10 +110,12 @@ library ResourceAccess { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 resourceSelector, address caller) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](2); + function encodeKeyTuple(bytes32 resourceSelector, address caller) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](2); _keyTuple[0] = resourceSelector; _keyTuple[1] = bytes32(uint256(uint160(caller))); + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/world/test/tables/AddressArray.sol b/packages/world/test/tables/AddressArray.sol index a55dc0553ef..f7e6728bc63 100644 --- a/packages/world/test/tables/AddressArray.sol +++ b/packages/world/test/tables/AddressArray.sol @@ -190,9 +190,11 @@ library AddressArray { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](1); + function encodeKeyTuple(bytes32 key) internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](1); _keyTuple[0] = key; + + return _keyTuple; } /* Delete all data for given keys */ diff --git a/packages/world/test/tables/Bool.sol b/packages/world/test/tables/Bool.sol index bcf67c13e34..71b1de5019b 100644 --- a/packages/world/test/tables/Bool.sol +++ b/packages/world/test/tables/Bool.sol @@ -97,8 +97,10 @@ library Bool { } /** Encode keys as a bytes32 array using this table's schema */ - function encodeKeyTuple() internal pure returns (bytes32[] memory _keyTuple) { - _keyTuple = new bytes32[](0); + function encodeKeyTuple() internal pure returns (bytes32[] memory) { + bytes32[] memory _keyTuple = new bytes32[](0); + + return _keyTuple; } /* Delete all data for given keys */