js icon indicating copy to clipboard operation
js copied to clipboard

WIP -- generate flow for extensions [DO NOT MERGE]

Open nkrishang opened this issue 1 year ago • 3 comments

Problem solved

Short description of the bug fixed or feature added

Changes made

  • [ ] Public API changes: list the public API changes made if any
  • [ ] Internal API changes: explain the internal logic changes

How to test

  • [ ] Automated tests: link to unit test file
  • [ ] Manual tests: step by step instructions on how to test

Contributor NFT

Paste in your wallet address below and we will airdrop you a special NFT when your pull request is merged.

Address:


PR-Codex overview

This PR adds ERC721 extension functions and events for ownership management and hooks in Thirdweb.

Detailed summary

  • Added ERC721 extension functions for ownership management
  • Included events for OwnershipTransferred, Transfer, ApprovalForAll, OwnershipHandoverRequested, OwnershipHandoverCanceled, HooksInstalled, and HooksUninstalled

The following files were skipped due to too many changes: packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/events/Transfer.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/events/Approval.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/name.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/owner.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/symbol.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/events/ConsecutiveTransfer.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/contractURI.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/totalSupply.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/ON_TOKEN_URI_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/ON_TOKEN_URI_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/ON_ROYALTY_INFO_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/ON_ROYALTY_INFO_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/BEFORE_BURN_ERC20_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/BEFORE_MINT_ERC20_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/BEFORE_BURN_ERC20_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/BEFORE_MINT_ERC20_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/BEFORE_BURN_ERC721_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/BEFORE_MINT_ERC721_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/BEFORE_BURN_ERC721_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/BEFORE_MINT_ERC721_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/BEFORE_BURN_ERC1155_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/BEFORE_MINT_ERC1155_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/BEFORE_BURN_ERC1155_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/BEFORE_MINT_ERC1155_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/BEFORE_APPROVE_ERC20_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/BEFORE_APPROVE_ERC20_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/BEFORE_APPROVE_ERC721_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/BEFORE_TRANSFER_ERC20_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/BEFORE_APPROVE_ERC721_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/BEFORE_TRANSFER_ERC20_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/BEFORE_APPROVE_FOR_ALL_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/BEFORE_TRANSFER_ERC721_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/BEFORE_APPROVE_FOR_ALL_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/BEFORE_TRANSFER_ERC721_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/BEFORE_TRANSFER_ERC1155_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/BEFORE_TRANSFER_ERC1155_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/BEFORE_BATCH_TRANSFER_ERC1155_FLAG.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/BEFORE_BATCH_TRANSFER_ERC1155_FLAG.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/eip712Domain.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/getHookInfo.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/getAllHooks.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/write/multicall.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/write/multicall.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/write/setContractURI.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/write/uninstallHook.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/write/transferOwnership.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/write/burn.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/write/approve.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/write/completeOwnershipHandover.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/tokenURI.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/ownerOf.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/balanceOf.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/getApproved.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/write/setApprovalForAll.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/write/mint.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/tokensOfOwner.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/write/transferFrom.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/_highestBitToZero.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/supportsInterface.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/write/installHook.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/getHookImplementation.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/getSaleConfig.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/write/safeTransferFrom.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/write/beforeMintERC20.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/write/beforeMintERC721.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/royaltyInfo.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/isApprovedForAll.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/ownershipHandoverExpiresAt.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/decodeClaimParams.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/explicitOwnershipOf.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/write/setSaleConfig.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/explicitOwnershipsOf.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/write/beforeMintERC1155.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/tokensOfOwnerIn.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/allowlistMint.ts, packages/thirdweb/src/extensions/erc721/__generated__/ERC721Core/read/getHookFallbackFunctionCall.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/getClaimPhaseERC20.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/getClaimPhaseERC721.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/write/setClaimPhaseERC20.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/write/setClaimPhaseERC721.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/getClaimPhaseERC1155.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/write/setClaimPhaseERC1155.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/decodeSignatureMintERC20Params.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/decodeSignatureMintERC721Params.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/decodeSignatureMintERC1155Params.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/signatureMintERC20.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/signatureMintERC721.ts, packages/thirdweb/src/extensions/hooks/__generated__/MintHook/read/signatureMintERC1155.ts, packages/thirdweb/scripts/generate/abis/hooks/MintHook.json, packages/thirdweb/scripts/generate/abis/erc721/ERC721Core.json

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

nkrishang avatar May 20 '24 13:05 nkrishang

⚠️ No Changeset found

Latest commit: 07d49e439f3d566fc3fa0a37f338e22be41bb5e2

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

changeset-bot[bot] avatar May 20 '24 13:05 changeset-bot[bot]

CodSpeed Performance Report

Merging #3078 will not alter performance

Comparing nkrishang/generate-for-extensions (07d49e4) with main (d95eb31)

Summary

✅ 9 untouched benchmarks

codspeed-hq[bot] avatar May 20 '24 13:05 codspeed-hq[bot]

size-limit report 📦

Path Size Loading time (3g) Running time (snapdragon) Total time
thirdweb (esm) 39.24 KB (0%) 785 ms (0%) 577 ms (+5.36% 🔺) 1.4 s
thirdweb (cjs) 88.65 KB (0%) 1.8 s (0%) 1.1 s (+12.34% 🔺) 2.9 s
thirdweb (minimal + tree-shaking) 4.75 KB (0%) 96 ms (0%) 19 ms (-72.12% 🔽) 115 ms
thirdweb/chains (tree-shaking) 423 B (0%) 10 ms (0%) 56 ms (+775.95% 🔺) 66 ms
thirdweb/react (minimal + tree-shaking) 23.11 KB (0%) 463 ms (0%) 83 ms (-3.22% 🔽) 545 ms

github-actions[bot] avatar May 20 '24 13:05 github-actions[bot]