Skip to content

Conversation

@nkrishang
Copy link
Contributor

@nkrishang nkrishang commented May 20, 2024

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 nkrishang requested a review from jnsdls as a code owner May 20, 2024 13:14
@changeset-bot
Copy link

changeset-bot bot commented May 20, 2024

⚠️ No Changeset found

Latest commit: 07d49e4

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

@nkrishang nkrishang changed the title WIP -- generate flow for extensions WIP -- generate flow for extensions [DO NOT MERGE] May 20, 2024
@codspeed-hq
Copy link

codspeed-hq bot commented May 20, 2024

CodSpeed Performance Report

Merging #3078 will not alter performance

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

Summary

✅ 9 untouched benchmarks

@github-actions
Copy link
Contributor

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

@jnsdls jnsdls closed this Aug 15, 2024
@jnsdls jnsdls deleted the nkrishang/generate-for-extensions branch September 17, 2024 03:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants