Releases: thirdweb-dev/modular-contracts
Releases · thirdweb-dev/modular-contracts
v1.0.0
What's Changed
- Audit fixes review by @nkrishang in #118
- Expose startTokenId and totalMinted in ERC721Core by @nkrishang in #115
- Make callback function calls nonReentrant by @nkrishang in #117
- fmt, gas benchmark by @jakeloo in #122
- updated licenses for each solidity file in src by @GWSzeto in #123
- Functions to encode bytes args by @kumaryash90 in #120
- fix: updated control flow around optional callbacks by @GWSzeto in #124
- removed OwnableRole from Role.sol by @GWSzeto in #126
- replacing all instances of extension to module and all of it's variations by @GWSzeto in #128
- Integrate Creator Token Standard into the Royalty Module by @GWSzeto in #132
- remove ownableRoles from MintableERC20 by @GWSzeto in #137
- removed beforeBatchMint from ERC1155Core by @GWSzeto in #140
- renames ModularCore to Core and ModularModule to Module by @GWSzeto in #139
- exposed nextTokenIdRangeStart by @GWSzeto in #138
- [L-4] Wrong function selector returned for the transfer validation function by @GWSzeto in #150
- removes duplicate supportsInterface by @GWSzeto in #156
- Has roles by @GWSzeto in #158
- Merge dev to main by @GWSzeto in #163
- M-2 creator token erc20 has role by @GWSzeto in #167
- Audit fixes by @GWSzeto in #173
Full Changelog: https://blog.thirdweb.com/changelog/smart-contracts-audited-by-0xmacro/
0.0.4
v0.0.3
v0.0.2
What's Changed
- Merge core and extensions projects by @nkrishang in #95
- Patches by @nkrishang in #97
- Tests by @nkrishang in #96
- Delayed reveal erc721 extension by @kumaryash90 in #98
- Add caller to all callbacks by @nkrishang in #101
- Add tests for ModularCore by @nkrishang in #103
- ERC7201 namespace. Shared role constant. Minting. Transferability by @jakeloo in #100
- Metadata extension tests by @kumaryash90 in #102
- Metadata extension tests by @kumaryash90 in #104
- Revert on failure in _executeCallbackFunction by @nkrishang in #106
- Revert on callback failure by @nkrishang in #108
- Add transfer function to ERC20Core by @kumaryash90 in #109
- Add supportsInterface for type(IERC20).interfaceId by @nkrishang in #110
- Royalty extension tests by @kumaryash90 in #107
- Transferable extension tests by @kumaryash90 in #112
- Remove ModularCoreUpgradeable and move to delegateCall only by @nkrishang in #111
- Initialize extensions in onInstall by @nkrishang in #114
- Macro audit fixes by @nkrishang in #116
Full Changelog: v0.0.1...v0.0.2
v0.0.1
ModularCoreUpgradeable (#86) * Update dependencies * core benchmark * Simplifies core and update coding style * Benchmark core on function fallback overhead * SupportedCallbackFunctions, simplifies installExtension * Fix merge conflicts * Update deps * Updated extension contracts in /extension (#91) * .vscode * replace /hooks with /extension * rename files * reorg files * Simplify and make uniform: LazyMint.sol -> BatchMetadata.sol * Comments + simplify language --------- Co-authored-by: Jake Loo <[email protected]> * rename order, mode. support required mode * update deps * Remove CallbackOrder. Implement callback returns data * Optimize installExtension struct packing * Remove unused field in struct. Memory safe assembly * Rename core, extension * Update solady * Move directory * includes ERC165 interfaceId * Implement ERC165 on core and extension check * Init ExtensionProxy * Sender in onInstall/Uninstall. ExtensionProxy * registerInstallationCallback on Extension * Latest updates to ModularCore (#93) * Rename IModular -> IExtensionConfig * Rename IModularExtensionCallback -> IInstallationCallback * ModularCore inherits OwnableRoles; replace ExtensionFunction permissioned -> permissionBits * Move InstalledExtensionFunction to ModularContract implementation * rename extensionABI -> extensionFunctions * remove unused isAuthorizedToCallExtensionFunctions * Replace unused _isAuthorized checks with native roles * only deploy extension proxy if undeployed * calculate salt based on address(this) instead of msg.sender * re-arrange imports * Only use EnumerableSetLib for EnumerableSetLib.AddressSet * Cleanup styles and add comments to ModularCore * add comments to _installExtension * Only install extension with all supported callback functions * Delete ExtensionProxy and its usage * add ExtensionProxyFactory * Update token contracts getSupportedCallbackFunctions selectors * Add ModularCoreTest * Verify extension bytecodehash on every call to extension * Cleanup ModularCore errors * Fix initializeOwner * Remove bytecode check in fallback * Add Extension name and version * ModularCore is naive implementation; ModularCoreUpgradeable handles upgradeability * Rename extensionName -> extensionID * Full ModularCoreUpgradeable implementation * Remove unused error * ModularCoreUpgradeable: add test and fix bugs * Update interface comments * Rename extensionFunctions to fallbackFunctions * rename extensionFunction to fallbackFunction cont. * Create and use CallbackFunction type which includes CallType * Add top level readme * Add readme assets * Update sub header * Update headings * Add design doc inside /core readme * Add installation and usage instructions * Add comments to IExtensionCOnfig * Add comments to IInstallationCallback * Update interface comments * Acceot factory address in constructor * Delete onRoyaltyInfoCallback * Remove onRoyalty callback from token Cores * Update extensionProxySaltSeed generation * fix github actions * fix github test aciton + forge fmt in /extension --------- Co-authored-by: nkrishang <[email protected]> Co-authored-by: Krishang <[email protected]>