thirdweb 5.50.1-nightly-b407bc9fd8379bf304ffb963f8cb8e64493914b5-20240904000351 → 5.51.0-nightly-f9c351c22d9c869770dad13332f9c23d8cb84ed7-20240905000555
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/cjs/contract/deployment/deploy-via-autofactory.js +11 -0
- package/dist/cjs/contract/deployment/deploy-via-autofactory.js.map +1 -1
- package/dist/cjs/contract/deployment/publisher.js +3 -0
- package/dist/cjs/contract/deployment/publisher.js.map +1 -1
- package/dist/cjs/contract/deployment/utils/bootstrap.js +41 -1
- package/dist/cjs/contract/deployment/utils/bootstrap.js.map +1 -1
- package/dist/cjs/contract/deployment/zksync/zkDeployContract.js +43 -0
- package/dist/cjs/contract/deployment/zksync/zkDeployContract.js.map +1 -0
- package/dist/cjs/contract/deployment/zksync/zkDeployCreate2Factory.js +55 -0
- package/dist/cjs/contract/deployment/zksync/zkDeployCreate2Factory.js.map +1 -0
- package/dist/cjs/contract/deployment/zksync/zkDeployDeterministic.js +86 -0
- package/dist/cjs/contract/deployment/zksync/zkDeployDeterministic.js.map +1 -0
- package/dist/cjs/contract/deployment/zksync/zkDeployProxy.js +41 -0
- package/dist/cjs/contract/deployment/zksync/zkDeployProxy.js.map +1 -0
- package/dist/cjs/exports/extensions/erc4337.js +16 -1
- package/dist/cjs/exports/extensions/erc4337.js.map +1 -1
- package/dist/cjs/exports/extensions/erc721.js +25 -1
- package/dist/cjs/exports/extensions/erc721.js.map +1 -1
- package/dist/cjs/exports/extensions/permissions.js +11 -3
- package/dist/cjs/exports/extensions/permissions.js.map +1 -1
- package/dist/cjs/exports/extensions/thirdweb.js +9 -2
- package/dist/cjs/exports/extensions/thirdweb.js.map +1 -1
- package/dist/cjs/extensions/erc4337/account/addAdmin.js +16 -0
- package/dist/cjs/extensions/erc4337/account/addAdmin.js.map +1 -1
- package/dist/cjs/extensions/erc4337/account/addSessionKey.js +16 -0
- package/dist/cjs/extensions/erc4337/account/addSessionKey.js.map +1 -1
- package/dist/cjs/extensions/erc4337/account/removeAdmin.js +16 -0
- package/dist/cjs/extensions/erc4337/account/removeAdmin.js.map +1 -1
- package/dist/cjs/extensions/erc4337/account/removeSessionKey.js +16 -0
- package/dist/cjs/extensions/erc4337/account/removeSessionKey.js.map +1 -1
- package/dist/cjs/extensions/erc721/__generated__/IDrop/read/claimCondition.js +76 -0
- package/dist/cjs/extensions/erc721/__generated__/IDrop/read/claimCondition.js.map +1 -0
- package/dist/cjs/extensions/erc721/drops/read/getActiveClaimCondition.js +28 -6
- package/dist/cjs/extensions/erc721/drops/read/getActiveClaimCondition.js.map +1 -1
- package/dist/cjs/extensions/erc721/drops/read/getClaimConditions.js +73 -0
- package/dist/cjs/extensions/erc721/drops/read/getClaimConditions.js.map +1 -0
- package/dist/cjs/extensions/erc721/drops/write/claimTo.js +19 -0
- package/dist/cjs/extensions/erc721/drops/write/claimTo.js.map +1 -1
- package/dist/cjs/extensions/erc721/drops/write/resetClaimEligibility.js +56 -0
- package/dist/cjs/extensions/erc721/drops/write/resetClaimEligibility.js.map +1 -0
- package/dist/cjs/extensions/erc721/drops/write/setClaimConditions.js +24 -0
- package/dist/cjs/extensions/erc721/drops/write/setClaimConditions.js.map +1 -1
- package/dist/cjs/extensions/erc721/write/lazyMint.js +20 -2
- package/dist/cjs/extensions/erc721/write/lazyMint.js.map +1 -1
- package/dist/cjs/extensions/permissions/read/getAllMembers.js +18 -0
- package/dist/cjs/extensions/permissions/read/getAllMembers.js.map +1 -1
- package/dist/cjs/extensions/permissions/read/getRoleAdmin.js +3 -0
- package/dist/cjs/extensions/permissions/read/getRoleAdmin.js.map +1 -1
- package/dist/cjs/extensions/permissions/read/getRoleMember.js +3 -0
- package/dist/cjs/extensions/permissions/read/getRoleMember.js.map +1 -1
- package/dist/cjs/extensions/permissions/read/getRoleMemberCount.js +3 -0
- package/dist/cjs/extensions/permissions/read/getRoleMemberCount.js.map +1 -1
- package/dist/cjs/extensions/permissions/read/hasRole.js +3 -0
- package/dist/cjs/extensions/permissions/read/hasRole.js.map +1 -1
- package/dist/cjs/extensions/permissions/write/{grant.js → grantRole.js} +4 -1
- package/dist/cjs/extensions/permissions/write/grantRole.js.map +1 -0
- package/dist/cjs/extensions/permissions/write/renounceRole.js +3 -0
- package/dist/cjs/extensions/permissions/write/renounceRole.js.map +1 -1
- package/dist/cjs/extensions/permissions/write/revokeRole.js +3 -0
- package/dist/cjs/extensions/permissions/write/revokeRole.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/deploy-published.js +39 -13
- package/dist/cjs/extensions/prebuilts/deploy-published.js.map +1 -1
- package/dist/cjs/extensions/thirdweb/read/contractType.js +49 -0
- package/dist/cjs/extensions/thirdweb/read/contractType.js.map +1 -0
- package/dist/cjs/extensions/zksync/__generated__/ContractDeployer/events/ContractDeployed.js +33 -0
- package/dist/cjs/extensions/zksync/__generated__/ContractDeployer/events/ContractDeployed.js.map +1 -0
- package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js +6 -5
- package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +3 -0
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js +37 -30
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +22 -17
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js +44 -25
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +13 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js +2 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js +16 -11
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js.map +1 -1
- package/dist/cjs/stories/ConnectButton/hideButtons.stories.js +74 -0
- package/dist/cjs/stories/ConnectButton/hideButtons.stories.js.map +1 -0
- package/dist/cjs/stories/{ConnectButton.stories.js → ConnectButton/themes.stories.js} +4 -5
- package/dist/cjs/stories/ConnectButton/themes.stories.js.map +1 -0
- package/dist/cjs/transaction/actions/send-transaction.js +8 -0
- package/dist/cjs/transaction/actions/send-transaction.js.map +1 -1
- package/dist/cjs/transaction/actions/zksync/getEip721Domain.js +4 -3
- package/dist/cjs/transaction/actions/zksync/getEip721Domain.js.map +1 -1
- package/dist/cjs/transaction/extract-error.js +4 -2
- package/dist/cjs/transaction/extract-error.js.map +1 -1
- package/dist/cjs/utils/abi/encodeAbiParameters.js +1 -1
- package/dist/cjs/utils/abi/encodeAbiParameters.js.map +1 -1
- package/dist/cjs/utils/any-evm/deploy-metadata.js +9 -2
- package/dist/cjs/utils/any-evm/deploy-metadata.js.map +1 -1
- package/dist/cjs/utils/any-evm/zksync/computeDeploymentAddress.js +15 -0
- package/dist/cjs/utils/any-evm/zksync/computeDeploymentAddress.js.map +1 -0
- package/dist/cjs/utils/any-evm/zksync/constants.js +43 -0
- package/dist/cjs/utils/any-evm/zksync/constants.js.map +1 -0
- package/dist/cjs/utils/any-evm/zksync/create2Address.js +21 -0
- package/dist/cjs/utils/any-evm/zksync/create2Address.js.map +1 -0
- package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js +10 -0
- package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js.map +1 -0
- package/dist/cjs/utils/extensions/drops/get-claim-params.js +3 -3
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/smart/index.js +2 -2
- package/dist/cjs/wallets/smart/index.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/utils.js +0 -7
- package/dist/cjs/wallets/smart/lib/utils.js.map +1 -1
- package/dist/esm/contract/deployment/deploy-via-autofactory.js +11 -0
- package/dist/esm/contract/deployment/deploy-via-autofactory.js.map +1 -1
- package/dist/esm/contract/deployment/publisher.js +3 -0
- package/dist/esm/contract/deployment/publisher.js.map +1 -1
- package/dist/esm/contract/deployment/utils/bootstrap.js +41 -1
- package/dist/esm/contract/deployment/utils/bootstrap.js.map +1 -1
- package/dist/esm/contract/deployment/zksync/zkDeployContract.js +40 -0
- package/dist/esm/contract/deployment/zksync/zkDeployContract.js.map +1 -0
- package/dist/esm/contract/deployment/zksync/zkDeployCreate2Factory.js +52 -0
- package/dist/esm/contract/deployment/zksync/zkDeployCreate2Factory.js.map +1 -0
- package/dist/esm/contract/deployment/zksync/zkDeployDeterministic.js +83 -0
- package/dist/esm/contract/deployment/zksync/zkDeployDeterministic.js.map +1 -0
- package/dist/esm/contract/deployment/zksync/zkDeployProxy.js +38 -0
- package/dist/esm/contract/deployment/zksync/zkDeployProxy.js.map +1 -0
- package/dist/esm/exports/extensions/erc4337.js +14 -13
- package/dist/esm/exports/extensions/erc4337.js.map +1 -1
- package/dist/esm/exports/extensions/erc721.js +17 -6
- package/dist/esm/exports/extensions/erc721.js.map +1 -1
- package/dist/esm/exports/extensions/permissions.js +8 -8
- package/dist/esm/exports/extensions/permissions.js.map +1 -1
- package/dist/esm/exports/extensions/thirdweb.js +5 -0
- package/dist/esm/exports/extensions/thirdweb.js.map +1 -1
- package/dist/esm/extensions/erc4337/account/addAdmin.js +16 -1
- package/dist/esm/extensions/erc4337/account/addAdmin.js.map +1 -1
- package/dist/esm/extensions/erc4337/account/addSessionKey.js +16 -1
- package/dist/esm/extensions/erc4337/account/addSessionKey.js.map +1 -1
- package/dist/esm/extensions/erc4337/account/removeAdmin.js +16 -1
- package/dist/esm/extensions/erc4337/account/removeAdmin.js.map +1 -1
- package/dist/esm/extensions/erc4337/account/removeSessionKey.js +16 -1
- package/dist/esm/extensions/erc4337/account/removeSessionKey.js.map +1 -1
- package/dist/esm/extensions/erc721/__generated__/IDrop/read/claimCondition.js +70 -0
- package/dist/esm/extensions/erc721/__generated__/IDrop/read/claimCondition.js.map +1 -0
- package/dist/esm/extensions/erc721/drops/read/getActiveClaimCondition.js +27 -6
- package/dist/esm/extensions/erc721/drops/read/getActiveClaimCondition.js.map +1 -1
- package/dist/esm/extensions/erc721/drops/read/getClaimConditions.js +69 -0
- package/dist/esm/extensions/erc721/drops/read/getClaimConditions.js.map +1 -0
- package/dist/esm/extensions/erc721/drops/write/claimTo.js +19 -1
- package/dist/esm/extensions/erc721/drops/write/claimTo.js.map +1 -1
- package/dist/esm/extensions/erc721/drops/write/resetClaimEligibility.js +52 -0
- package/dist/esm/extensions/erc721/drops/write/resetClaimEligibility.js.map +1 -0
- package/dist/esm/extensions/erc721/drops/write/setClaimConditions.js +24 -1
- package/dist/esm/extensions/erc721/drops/write/setClaimConditions.js.map +1 -1
- package/dist/esm/extensions/erc721/write/lazyMint.js +20 -3
- package/dist/esm/extensions/erc721/write/lazyMint.js.map +1 -1
- package/dist/esm/extensions/permissions/read/getAllMembers.js +19 -2
- package/dist/esm/extensions/permissions/read/getAllMembers.js.map +1 -1
- package/dist/esm/extensions/permissions/read/getRoleAdmin.js +1 -0
- package/dist/esm/extensions/permissions/read/getRoleAdmin.js.map +1 -1
- package/dist/esm/extensions/permissions/read/getRoleMember.js +1 -0
- package/dist/esm/extensions/permissions/read/getRoleMember.js.map +1 -1
- package/dist/esm/extensions/permissions/read/getRoleMemberCount.js +1 -0
- package/dist/esm/extensions/permissions/read/getRoleMemberCount.js.map +1 -1
- package/dist/esm/extensions/permissions/read/hasRole.js +1 -0
- package/dist/esm/extensions/permissions/read/hasRole.js.map +1 -1
- package/dist/esm/extensions/permissions/write/{grant.js → grantRole.js} +2 -1
- package/dist/esm/extensions/permissions/write/grantRole.js.map +1 -0
- package/dist/esm/extensions/permissions/write/renounceRole.js +1 -0
- package/dist/esm/extensions/permissions/write/renounceRole.js.map +1 -1
- package/dist/esm/extensions/permissions/write/revokeRole.js +1 -0
- package/dist/esm/extensions/permissions/write/revokeRole.js.map +1 -1
- package/dist/esm/extensions/prebuilts/deploy-published.js +39 -13
- package/dist/esm/extensions/prebuilts/deploy-published.js.map +1 -1
- package/dist/esm/extensions/thirdweb/read/contractType.js +45 -0
- package/dist/esm/extensions/thirdweb/read/contractType.js.map +1 -0
- package/dist/esm/extensions/zksync/__generated__/ContractDeployer/events/ContractDeployed.js +30 -0
- package/dist/esm/extensions/zksync/__generated__/ContractDeployer/events/ContractDeployed.js.map +1 -0
- package/dist/esm/react/web/hooks/transaction/useSendTransaction.js +6 -5
- package/dist/esm/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +3 -0
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js +37 -30
- package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +23 -18
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js +41 -24
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +12 -2
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js +2 -2
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js +17 -12
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js.map +1 -1
- package/dist/esm/stories/ConnectButton/hideButtons.stories.js +71 -0
- package/dist/esm/stories/ConnectButton/hideButtons.stories.js.map +1 -0
- package/dist/esm/stories/{ConnectButton.stories.js → ConnectButton/themes.stories.js} +4 -5
- package/dist/esm/stories/ConnectButton/themes.stories.js.map +1 -0
- package/dist/esm/transaction/actions/send-transaction.js +8 -0
- package/dist/esm/transaction/actions/send-transaction.js.map +1 -1
- package/dist/esm/transaction/actions/zksync/getEip721Domain.js +4 -3
- package/dist/esm/transaction/actions/zksync/getEip721Domain.js.map +1 -1
- package/dist/esm/transaction/extract-error.js +4 -2
- package/dist/esm/transaction/extract-error.js.map +1 -1
- package/dist/esm/utils/abi/encodeAbiParameters.js +1 -1
- package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
- package/dist/esm/utils/any-evm/deploy-metadata.js +9 -2
- package/dist/esm/utils/any-evm/deploy-metadata.js.map +1 -1
- package/dist/esm/utils/any-evm/zksync/computeDeploymentAddress.js +12 -0
- package/dist/esm/utils/any-evm/zksync/computeDeploymentAddress.js.map +1 -0
- package/dist/esm/utils/any-evm/zksync/constants.js +40 -0
- package/dist/esm/utils/any-evm/zksync/constants.js.map +1 -0
- package/dist/esm/utils/any-evm/zksync/create2Address.js +18 -0
- package/dist/esm/utils/any-evm/zksync/create2Address.js.map +1 -0
- package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js +7 -0
- package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js.map +1 -0
- package/dist/esm/utils/extensions/drops/get-claim-params.js +4 -4
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/smart/index.js +2 -2
- package/dist/esm/wallets/smart/index.js.map +1 -1
- package/dist/esm/wallets/smart/lib/utils.js +0 -6
- package/dist/esm/wallets/smart/lib/utils.js.map +1 -1
- package/dist/types/contract/deployment/deploy-via-autofactory.d.ts.map +1 -1
- package/dist/types/contract/deployment/publisher.d.ts.map +1 -1
- package/dist/types/contract/deployment/utils/bootstrap.d.ts +4 -2
- package/dist/types/contract/deployment/utils/bootstrap.d.ts.map +1 -1
- package/dist/types/contract/deployment/zksync/zkDeployContract.d.ts +12 -0
- package/dist/types/contract/deployment/zksync/zkDeployContract.d.ts.map +1 -0
- package/dist/types/contract/deployment/zksync/zkDeployCreate2Factory.d.ts +6 -0
- package/dist/types/contract/deployment/zksync/zkDeployCreate2Factory.d.ts.map +1 -0
- package/dist/types/contract/deployment/zksync/zkDeployDeterministic.d.ts +13 -0
- package/dist/types/contract/deployment/zksync/zkDeployDeterministic.d.ts.map +1 -0
- package/dist/types/contract/deployment/zksync/zkDeployProxy.d.ts +12 -0
- package/dist/types/contract/deployment/zksync/zkDeployProxy.d.ts.map +1 -0
- package/dist/types/exports/extensions/erc4337.d.ts +14 -13
- package/dist/types/exports/extensions/erc4337.d.ts.map +1 -1
- package/dist/types/exports/extensions/erc721.d.ts +9 -6
- package/dist/types/exports/extensions/erc721.d.ts.map +1 -1
- package/dist/types/exports/extensions/permissions.d.ts +8 -8
- package/dist/types/exports/extensions/permissions.d.ts.map +1 -1
- package/dist/types/exports/extensions/thirdweb.d.ts +1 -0
- package/dist/types/exports/extensions/thirdweb.d.ts.map +1 -1
- package/dist/types/extensions/erc4337/account/addAdmin.d.ts +13 -0
- package/dist/types/extensions/erc4337/account/addAdmin.d.ts.map +1 -1
- package/dist/types/extensions/erc4337/account/addSessionKey.d.ts +13 -0
- package/dist/types/extensions/erc4337/account/addSessionKey.d.ts.map +1 -1
- package/dist/types/extensions/erc4337/account/removeAdmin.d.ts +13 -0
- package/dist/types/extensions/erc4337/account/removeAdmin.d.ts.map +1 -1
- package/dist/types/extensions/erc4337/account/removeSessionKey.d.ts +13 -0
- package/dist/types/extensions/erc4337/account/removeSessionKey.d.ts.map +1 -1
- package/dist/types/extensions/erc721/__generated__/IDrop/read/claimCondition.d.ts +45 -0
- package/dist/types/extensions/erc721/__generated__/IDrop/read/claimCondition.d.ts.map +1 -0
- package/dist/types/extensions/erc721/drops/read/getActiveClaimCondition.d.ts +13 -0
- package/dist/types/extensions/erc721/drops/read/getActiveClaimCondition.d.ts.map +1 -1
- package/dist/types/extensions/erc721/drops/read/getClaimConditions.d.ts +29 -0
- package/dist/types/extensions/erc721/drops/read/getClaimConditions.d.ts.map +1 -0
- package/dist/types/extensions/erc721/drops/write/claimTo.d.ts +13 -0
- package/dist/types/extensions/erc721/drops/write/claimTo.d.ts.map +1 -1
- package/dist/types/extensions/erc721/drops/write/resetClaimEligibility.d.ts +33 -0
- package/dist/types/extensions/erc721/drops/write/resetClaimEligibility.d.ts.map +1 -0
- package/dist/types/extensions/erc721/drops/write/setClaimConditions.d.ts +13 -0
- package/dist/types/extensions/erc721/drops/write/setClaimConditions.d.ts.map +1 -1
- package/dist/types/extensions/erc721/write/lazyMint.d.ts +13 -0
- package/dist/types/extensions/erc721/write/lazyMint.d.ts.map +1 -1
- package/dist/types/extensions/permissions/read/getAllMembers.d.ts +13 -0
- package/dist/types/extensions/permissions/read/getAllMembers.d.ts.map +1 -1
- package/dist/types/extensions/permissions/read/getRoleAdmin.d.ts +1 -0
- package/dist/types/extensions/permissions/read/getRoleAdmin.d.ts.map +1 -1
- package/dist/types/extensions/permissions/read/getRoleMember.d.ts +1 -0
- package/dist/types/extensions/permissions/read/getRoleMember.d.ts.map +1 -1
- package/dist/types/extensions/permissions/read/getRoleMemberCount.d.ts +1 -0
- package/dist/types/extensions/permissions/read/getRoleMemberCount.d.ts.map +1 -1
- package/dist/types/extensions/permissions/read/hasRole.d.ts +1 -0
- package/dist/types/extensions/permissions/read/hasRole.d.ts.map +1 -1
- package/dist/types/extensions/permissions/write/{grant.d.ts → grantRole.d.ts} +2 -1
- package/dist/types/extensions/permissions/write/grantRole.d.ts.map +1 -0
- package/dist/types/extensions/permissions/write/renounceRole.d.ts +1 -0
- package/dist/types/extensions/permissions/write/renounceRole.d.ts.map +1 -1
- package/dist/types/extensions/permissions/write/revokeRole.d.ts +1 -0
- package/dist/types/extensions/permissions/write/revokeRole.d.ts.map +1 -1
- package/dist/types/extensions/prebuilts/deploy-published.d.ts.map +1 -1
- package/dist/types/extensions/thirdweb/read/contractType.d.ts +31 -0
- package/dist/types/extensions/thirdweb/read/contractType.d.ts.map +1 -0
- package/dist/types/extensions/zksync/__generated__/ContractDeployer/events/ContractDeployed.d.ts +61 -0
- package/dist/types/extensions/zksync/__generated__/ContractDeployer/events/ContractDeployed.d.ts.map +1 -0
- package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts +18 -0
- package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts.map +1 -1
- package/dist/types/react/web/hooks/transaction/useSendTransaction.d.ts +6 -5
- package/dist/types/react/web/hooks/transaction/useSendTransaction.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts +3 -0
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.d.ts +28 -7
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts +6 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.d.ts +0 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.d.ts.map +1 -1
- package/dist/types/stories/ConnectButton/hideButtons.stories.d.ts +23 -0
- package/dist/types/stories/ConnectButton/hideButtons.stories.d.ts.map +1 -0
- package/dist/types/stories/{ConnectButton.stories.d.ts → ConnectButton/themes.stories.d.ts} +3 -4
- package/dist/types/stories/ConnectButton/themes.stories.d.ts.map +1 -0
- package/dist/types/transaction/actions/send-transaction.d.ts.map +1 -1
- package/dist/types/transaction/actions/zksync/getEip721Domain.d.ts.map +1 -1
- package/dist/types/transaction/extract-error.d.ts.map +1 -1
- package/dist/types/utils/any-evm/deploy-metadata.d.ts.map +1 -1
- package/dist/types/utils/any-evm/zksync/computeDeploymentAddress.d.ts +11 -0
- package/dist/types/utils/any-evm/zksync/computeDeploymentAddress.d.ts.map +1 -0
- package/dist/types/utils/any-evm/zksync/constants.d.ts +29 -0
- package/dist/types/utils/any-evm/zksync/constants.d.ts.map +1 -0
- package/dist/types/utils/any-evm/zksync/create2Address.d.ts +9 -0
- package/dist/types/utils/any-evm/zksync/create2Address.d.ts.map +1 -0
- package/dist/types/utils/any-evm/zksync/isZkSyncChain.d.ts +3 -0
- package/dist/types/utils/any-evm/zksync/isZkSyncChain.d.ts.map +1 -0
- package/dist/types/utils/domains.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/smart/index.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/utils.d.ts +0 -2
- package/dist/types/wallets/smart/lib/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/contract/deployment/deploy-via-autofactory.ts +13 -0
- package/src/contract/deployment/publisher.ts +5 -0
- package/src/contract/deployment/utils/bootstrap.ts +56 -3
- package/src/contract/deployment/zksync/zkDeployContract.ts +52 -0
- package/src/contract/deployment/zksync/zkDeployCreate2Factory.ts +65 -0
- package/src/contract/deployment/zksync/zkDeployDeterministic.ts +106 -0
- package/src/contract/deployment/zksync/zkDeployProxy.ts +55 -0
- package/src/exports/extensions/erc4337.ts +35 -7
- package/src/exports/extensions/erc721.ts +36 -3
- package/src/exports/extensions/permissions.ts +9 -1
- package/src/exports/extensions/thirdweb.ts +10 -0
- package/src/extensions/erc4337/account/addAdmin.ts +20 -1
- package/src/extensions/erc4337/account/addSessionKey.ts +20 -1
- package/src/extensions/erc4337/account/removeAdmin.ts +20 -1
- package/src/extensions/erc4337/account/removeSessionKey.ts +20 -1
- package/src/extensions/erc721/__generated__/IDrop/read/claimCondition.ts +76 -0
- package/src/extensions/erc721/drop721.test.ts +102 -2
- package/src/extensions/erc721/drops/read/getActiveClaimCondition.ts +32 -6
- package/src/extensions/erc721/drops/read/getClaimConditions.ts +93 -0
- package/src/extensions/erc721/drops/write/claimTo.ts +25 -1
- package/src/extensions/erc721/drops/write/resetClaimEligibility.ts +70 -0
- package/src/extensions/erc721/drops/write/setClaimConditions.ts +30 -1
- package/src/extensions/erc721/write/lazyMint.ts +26 -3
- package/src/extensions/permissions/permissions.test.ts +1 -1
- package/src/extensions/permissions/read/getAllMembers.ts +30 -2
- package/src/extensions/permissions/read/getRoleAdmin.ts +2 -0
- package/src/extensions/permissions/read/getRoleMember.ts +2 -0
- package/src/extensions/permissions/read/getRoleMemberCount.ts +2 -0
- package/src/extensions/permissions/read/hasRole.ts +2 -0
- package/src/extensions/permissions/write/{grant.ts → grantRole.ts} +2 -0
- package/src/extensions/permissions/write/renounceRole.ts +2 -0
- package/src/extensions/permissions/write/revokeRole.ts +2 -0
- package/src/extensions/prebuilts/deploy-published.ts +58 -26
- package/src/extensions/thirdweb/read/contractType.ts +46 -0
- package/src/extensions/zksync/__generated__/ContractDeployer/events/ContractDeployed.ts +55 -0
- package/src/react/core/hooks/connection/ConnectButtonProps.ts +21 -0
- package/src/react/web/hooks/transaction/useSendTransaction.tsx +6 -5
- package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +3 -0
- package/src/react/web/ui/ConnectWallet/Details.tsx +108 -73
- package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +37 -29
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.ts +73 -33
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx +37 -2
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.tsx +5 -10
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.tsx +27 -20
- package/src/stories/ConnectButton/hideButtons.stories.tsx +83 -0
- package/src/stories/{ConnectButton.stories.ts → ConnectButton/themes.stories.tsx} +3 -4
- package/src/transaction/actions/send-transaction.ts +11 -0
- package/src/transaction/actions/to-serializable-transaction.test.ts +3 -4
- package/src/transaction/actions/zksync/getEip721Domain.ts +4 -2
- package/src/transaction/actions/zksync/send-eip712-transaction.test.ts +27 -2
- package/src/transaction/extract-error.ts +7 -2
- package/src/utils/abi/encode-abi-parameters.test.ts +1 -1
- package/src/utils/abi/encodeAbiParameters.ts +1 -1
- package/src/utils/any-evm/deploy-metadata.ts +11 -2
- package/src/utils/any-evm/zksync/computeDeploymentAddress.ts +24 -0
- package/src/utils/any-evm/zksync/constants.ts +49 -0
- package/src/utils/any-evm/zksync/create2Address.ts +26 -0
- package/src/utils/any-evm/zksync/isZkSyncChain.ts +10 -0
- package/src/utils/domains.ts +1 -1
- package/src/utils/extensions/drops/get-claim-params.ts +4 -4
- package/src/version.ts +1 -1
- package/src/wallets/smart/index.ts +2 -3
- package/src/wallets/smart/lib/utils.ts +0 -10
- package/dist/cjs/extensions/permissions/write/grant.js.map +0 -1
- package/dist/cjs/stories/ConnectButton.stories.js.map +0 -1
- package/dist/esm/extensions/permissions/write/grant.js.map +0 -1
- package/dist/esm/stories/ConnectButton.stories.js.map +0 -1
- package/dist/types/extensions/permissions/write/grant.d.ts.map +0 -1
- package/dist/types/stories/ConnectButton.stories.d.ts.map +0 -1
@@ -1,7 +1,9 @@
|
|
1
1
|
// ACCOUNT
|
2
|
+
export { isValidateUserOpSupported } from "../../extensions/erc4337/__generated__/IAccount/write/validateUserOp.js";
|
2
3
|
export {
|
3
4
|
type AddAdminOptions,
|
4
5
|
addAdmin,
|
6
|
+
isAddAdminSupported,
|
5
7
|
} from "../../extensions/erc4337/account/addAdmin.js";
|
6
8
|
|
7
9
|
export {
|
@@ -12,40 +14,66 @@ export {
|
|
12
14
|
export {
|
13
15
|
type AddSessionKeyOptions,
|
14
16
|
addSessionKey,
|
17
|
+
isAddSessionKeySupported,
|
15
18
|
} from "../../extensions/erc4337/account/addSessionKey.js";
|
16
19
|
|
17
20
|
export {
|
18
21
|
type RemoveSessionKeyOptions,
|
19
22
|
removeSessionKey,
|
23
|
+
isRemoveSessionKeySupported,
|
20
24
|
} from "../../extensions/erc4337/account/removeSessionKey.js";
|
21
25
|
|
22
|
-
export {
|
23
|
-
|
24
|
-
|
26
|
+
export {
|
27
|
+
getAllActiveSigners,
|
28
|
+
isGetAllActiveSignersSupported,
|
29
|
+
} from "../../extensions/erc4337/__generated__/IAccountPermissions/read/getAllActiveSigners.js";
|
30
|
+
export {
|
31
|
+
getAllAdmins,
|
32
|
+
isGetAllAdminsSupported,
|
33
|
+
} from "../../extensions/erc4337/__generated__/IAccountPermissions/read/getAllAdmins.js";
|
34
|
+
export {
|
35
|
+
getAllSigners,
|
36
|
+
isGetAllSignersSupported,
|
37
|
+
} from "../../extensions/erc4337/__generated__/IAccountPermissions/read/getAllSigners.js";
|
25
38
|
export {
|
26
39
|
getPermissionsForSigner,
|
27
40
|
type GetPermissionsForSignerParams,
|
28
41
|
} from "../../extensions/erc4337/__generated__/IAccountPermissions/read/getPermissionsForSigner.js";
|
29
42
|
export {
|
30
43
|
isActiveSigner,
|
44
|
+
isIsActiveSignerSupported,
|
31
45
|
type IsActiveSignerParams,
|
32
46
|
} from "../../extensions/erc4337/__generated__/IAccountPermissions/read/isActiveSigner.js";
|
33
|
-
export {
|
47
|
+
export {
|
48
|
+
isAdmin,
|
49
|
+
isIsAdminSupported,
|
50
|
+
} from "../../extensions/erc4337/__generated__/IAccountPermissions/read/isAdmin.js";
|
34
51
|
export { adminUpdatedEvent } from "../../extensions/erc4337/__generated__/IAccountPermissions/events/AdminUpdated.js";
|
35
52
|
export { signerPermissionsUpdatedEvent } from "../../extensions/erc4337/__generated__/IAccountPermissions/events/SignerPermissionsUpdated.js";
|
36
53
|
|
37
54
|
// FACTORY
|
38
|
-
export {
|
39
|
-
|
40
|
-
|
55
|
+
export {
|
56
|
+
getAllAccounts,
|
57
|
+
isGetAllAccountsSupported,
|
58
|
+
} from "../../extensions/erc4337/__generated__/IAccountFactory/read/getAllAccounts.js";
|
59
|
+
export {
|
60
|
+
getAccounts,
|
61
|
+
isGetAccountsSupported,
|
62
|
+
} from "../../extensions/erc4337/__generated__/IAccountFactory/read/getAccounts.js";
|
63
|
+
export {
|
64
|
+
totalAccounts,
|
65
|
+
isTotalAccountsSupported,
|
66
|
+
} from "../../extensions/erc4337/__generated__/IAccountFactory/read/totalAccounts.js";
|
41
67
|
export { isRegistered } from "../../extensions/erc4337/__generated__/IAccountFactory/read/isRegistered.js";
|
42
68
|
export {
|
43
69
|
getAccountsOfSigner,
|
44
70
|
type GetAccountsOfSignerParams,
|
71
|
+
isGetAccountsOfSignerSupported,
|
45
72
|
} from "../../extensions/erc4337/__generated__/IAccountFactory/read/getAccountsOfSigner.js";
|
46
73
|
export {
|
47
74
|
getAddress as predictAccountAddress,
|
48
75
|
type GetAddressParams as PredictAccountAddressParams,
|
76
|
+
isGetAddressSupported as isPredictAccountAddressSupported,
|
49
77
|
} from "../../extensions/erc4337/__generated__/IAccountFactory/read/getAddress.js";
|
50
78
|
|
51
79
|
// ENTRYPOINT
|
@@ -82,21 +82,54 @@ export {
|
|
82
82
|
/**
|
83
83
|
* DROPS extension for ERC721
|
84
84
|
*/
|
85
|
-
|
86
|
-
|
87
|
-
export {
|
85
|
+
// READ
|
86
|
+
// multi-phase --
|
87
|
+
export {
|
88
|
+
getClaimConditionById,
|
89
|
+
isGetClaimConditionByIdSupported,
|
90
|
+
} from "../../extensions/erc721/__generated__/IDrop/read/getClaimConditionById.js";
|
91
|
+
export {
|
92
|
+
getActiveClaimConditionId,
|
93
|
+
isGetActiveClaimConditionIdSupported,
|
94
|
+
} from "../../extensions/erc721/__generated__/IDrop/read/getActiveClaimConditionId.js";
|
95
|
+
export {
|
96
|
+
getClaimConditions,
|
97
|
+
isGetClaimConditionsSupported,
|
98
|
+
} from "../../extensions/erc721/drops/read/getClaimConditions.js";
|
99
|
+
// --
|
100
|
+
// single phase --
|
101
|
+
export {
|
102
|
+
claimCondition,
|
103
|
+
isClaimConditionSupported,
|
104
|
+
} from "../../extensions/erc721/__generated__/DropSinglePhase/read/claimCondition.js";
|
105
|
+
// --
|
106
|
+
// multi and single phase --
|
107
|
+
export {
|
108
|
+
getActiveClaimCondition,
|
109
|
+
isGetActiveClaimConditionSupported,
|
110
|
+
} from "../../extensions/erc721/drops/read/getActiveClaimCondition.js";
|
111
|
+
// --
|
112
|
+
|
113
|
+
// WRITE
|
88
114
|
export {
|
89
115
|
claimTo,
|
90
116
|
type ClaimToParams,
|
117
|
+
isClaimToSupported,
|
91
118
|
} from "../../extensions/erc721/drops/write/claimTo.js";
|
92
119
|
export {
|
93
120
|
lazyMint,
|
94
121
|
type LazyMintParams,
|
122
|
+
isLazyMintSupported,
|
95
123
|
} from "../../extensions/erc721/write/lazyMint.js";
|
96
124
|
export {
|
97
125
|
setClaimConditions,
|
98
126
|
type SetClaimConditionsParams,
|
127
|
+
isSetClaimConditionsSupported,
|
99
128
|
} from "../../extensions/erc721/drops/write/setClaimConditions.js";
|
129
|
+
export {
|
130
|
+
resetClaimEligibility,
|
131
|
+
isResetClaimEligibilitySupported,
|
132
|
+
} from "../../extensions/erc721/drops/write/resetClaimEligibility.js";
|
100
133
|
|
101
134
|
/**
|
102
135
|
* SIGNATURE extension for ERC721
|
@@ -6,24 +6,29 @@
|
|
6
6
|
export {
|
7
7
|
hasRole,
|
8
8
|
type HasRoleParams,
|
9
|
+
isHasRoleSupported,
|
9
10
|
} from "../../extensions/permissions/read/hasRole.js";
|
10
11
|
export {
|
11
12
|
getRoleAdmin,
|
12
13
|
type GetRoleAdminParams,
|
14
|
+
isGetRoleAdminSupported,
|
13
15
|
} from "../../extensions/permissions/read/getRoleAdmin.js";
|
14
16
|
|
15
17
|
// WRITE
|
16
18
|
export {
|
17
19
|
grantRole,
|
18
20
|
type GrantRoleParams,
|
19
|
-
|
21
|
+
isGrantRoleSupported,
|
22
|
+
} from "../../extensions/permissions/write/grantRole.js";
|
20
23
|
export {
|
21
24
|
revokeRole,
|
22
25
|
type RevokeRoleParams,
|
26
|
+
isRevokeRoleSupported,
|
23
27
|
} from "../../extensions/permissions/write/revokeRole.js";
|
24
28
|
export {
|
25
29
|
renounceRole,
|
26
30
|
type RenounceRoleParams,
|
31
|
+
isRenounceRoleSupported,
|
27
32
|
} from "../../extensions/permissions/write/renounceRole.js";
|
28
33
|
|
29
34
|
// EVENTS
|
@@ -48,14 +53,17 @@ export {
|
|
48
53
|
export {
|
49
54
|
getRoleMember,
|
50
55
|
type GetRoleMemberParams,
|
56
|
+
isGetRoleMemberSupported,
|
51
57
|
} from "../../extensions/permissions/read/getRoleMember.js";
|
52
58
|
export {
|
53
59
|
getRoleMemberCount,
|
54
60
|
type GetRoleMemberCountParams,
|
61
|
+
isGetRoleMemberCountSupported,
|
55
62
|
} from "../../extensions/permissions/read/getRoleMemberCount.js";
|
56
63
|
export {
|
57
64
|
getAllRoleMembers,
|
58
65
|
type GetAllRoleMembersParams,
|
66
|
+
isGetAllRoleMembersSupported,
|
59
67
|
} from "../../extensions/permissions/read/getAllMembers.js";
|
60
68
|
|
61
69
|
// --------------------------------------------------------
|
@@ -1,3 +1,13 @@
|
|
1
|
+
// --------------------------------------------------------
|
2
|
+
// Generic
|
3
|
+
// --------------------------------------------------------
|
4
|
+
|
5
|
+
// Read
|
6
|
+
export {
|
7
|
+
contractType,
|
8
|
+
isContractTypeSupported,
|
9
|
+
} from "../../extensions/thirdweb/read/contractType.js";
|
10
|
+
|
1
11
|
// --------------------------------------------------------
|
2
12
|
// Publisher contract
|
3
13
|
// --------------------------------------------------------
|
@@ -1,6 +1,9 @@
|
|
1
1
|
import type { BaseTransactionOptions } from "../../../transaction/types.js";
|
2
2
|
import type { Account } from "../../../wallets/interfaces/wallet.js";
|
3
|
-
import {
|
3
|
+
import {
|
4
|
+
isSetPermissionsForSignerSupported,
|
5
|
+
setPermissionsForSigner,
|
6
|
+
} from "../__generated__/IAccountPermissions/write/setPermissionsForSigner.js";
|
4
7
|
import { defaultPermissionsForAdmin, signPermissionRequest } from "./common.js";
|
5
8
|
|
6
9
|
/**
|
@@ -53,3 +56,19 @@ export function addAdmin(options: BaseTransactionOptions<AddAdminOptions>) {
|
|
53
56
|
},
|
54
57
|
});
|
55
58
|
}
|
59
|
+
|
60
|
+
/**
|
61
|
+
* Checks if the `isAddAdminSupported` method is supported by the given contract.
|
62
|
+
* @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
|
63
|
+
* @returns A boolean indicating if the `isAddAdminSupported` method is supported.
|
64
|
+
* @extension ERC4337
|
65
|
+
* @example
|
66
|
+
* ```ts
|
67
|
+
* import { isAddAdminSupported } from "thirdweb/extensions/erc4337";
|
68
|
+
*
|
69
|
+
* const supported = isAddAdminSupported(["0x..."]);
|
70
|
+
* ```
|
71
|
+
*/
|
72
|
+
export function isAddAdminSupported(availableSelectors: string[]) {
|
73
|
+
return isSetPermissionsForSignerSupported(availableSelectors);
|
74
|
+
}
|
@@ -1,6 +1,9 @@
|
|
1
1
|
import type { BaseTransactionOptions } from "../../../transaction/types.js";
|
2
2
|
import type { Account } from "../../../wallets/interfaces/wallet.js";
|
3
|
-
import {
|
3
|
+
import {
|
4
|
+
isSetPermissionsForSignerSupported,
|
5
|
+
setPermissionsForSigner,
|
6
|
+
} from "../__generated__/IAccountPermissions/write/setPermissionsForSigner.js";
|
4
7
|
import { signPermissionRequest, toContractPermissions } from "./common.js";
|
5
8
|
import type { AccountPermissions } from "./types.js";
|
6
9
|
|
@@ -67,3 +70,19 @@ export function addSessionKey(
|
|
67
70
|
},
|
68
71
|
});
|
69
72
|
}
|
73
|
+
|
74
|
+
/**
|
75
|
+
* Checks if the `isAddSessionKeySupported` method is supported by the given contract.
|
76
|
+
* @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
|
77
|
+
* @returns A boolean indicating if the `isAddSessionKeySupported` method is supported.
|
78
|
+
* @extension ERC4337
|
79
|
+
* @example
|
80
|
+
* ```ts
|
81
|
+
* import { isAddSessionKeySupported } from "thirdweb/extensions/erc4337";
|
82
|
+
*
|
83
|
+
* const supported = isAddSessionKeySupported(["0x..."]);
|
84
|
+
* ```
|
85
|
+
*/
|
86
|
+
export function isAddSessionKeySupported(availableSelectors: string[]) {
|
87
|
+
return isSetPermissionsForSignerSupported(availableSelectors);
|
88
|
+
}
|
@@ -1,6 +1,9 @@
|
|
1
1
|
import type { BaseTransactionOptions } from "../../../transaction/types.js";
|
2
2
|
import type { Account } from "../../../wallets/interfaces/wallet.js";
|
3
|
-
import {
|
3
|
+
import {
|
4
|
+
isSetPermissionsForSignerSupported,
|
5
|
+
setPermissionsForSigner,
|
6
|
+
} from "../__generated__/IAccountPermissions/write/setPermissionsForSigner.js";
|
4
7
|
import { defaultPermissionsForAdmin, signPermissionRequest } from "./common.js";
|
5
8
|
|
6
9
|
/**
|
@@ -58,3 +61,19 @@ export function removeAdmin(
|
|
58
61
|
},
|
59
62
|
});
|
60
63
|
}
|
64
|
+
|
65
|
+
/**
|
66
|
+
* Checks if the `isRemoveAdminSupported` method is supported by the given contract.
|
67
|
+
* @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
|
68
|
+
* @returns A boolean indicating if the `isRemoveAdminSupported` method is supported.
|
69
|
+
* @extension ERC4337
|
70
|
+
* @example
|
71
|
+
* ```ts
|
72
|
+
* import { isRemoveAdminSupported } from "thirdweb/extensions/erc4337";
|
73
|
+
*
|
74
|
+
* const supported = isRemoveAdminSupported(["0x..."]);
|
75
|
+
* ```
|
76
|
+
*/
|
77
|
+
export function isRemoveAdminSupported(availableSelectors: string[]) {
|
78
|
+
return isSetPermissionsForSignerSupported(availableSelectors);
|
79
|
+
}
|
@@ -1,6 +1,9 @@
|
|
1
1
|
import type { BaseTransactionOptions } from "../../../transaction/types.js";
|
2
2
|
import type { Account } from "../../../wallets/interfaces/wallet.js";
|
3
|
-
import {
|
3
|
+
import {
|
4
|
+
isSetPermissionsForSignerSupported,
|
5
|
+
setPermissionsForSigner,
|
6
|
+
} from "../__generated__/IAccountPermissions/write/setPermissionsForSigner.js";
|
4
7
|
import { signPermissionRequest, toContractPermissions } from "./common.js";
|
5
8
|
|
6
9
|
/**
|
@@ -60,3 +63,19 @@ export function removeSessionKey(
|
|
60
63
|
},
|
61
64
|
});
|
62
65
|
}
|
66
|
+
|
67
|
+
/**
|
68
|
+
* Checks if the `isRemoveSessionKeySupported` method is supported by the given contract.
|
69
|
+
* @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
|
70
|
+
* @returns A boolean indicating if the `isRemoveSessionKeySupported` method is supported.
|
71
|
+
* @extension ERC4337
|
72
|
+
* @example
|
73
|
+
* ```ts
|
74
|
+
* import { isRemoveSessionKeySupported } from "thirdweb/extensions/erc4337";
|
75
|
+
*
|
76
|
+
* const supported = isRemoveSessionKeySupported(["0x..."]);
|
77
|
+
* ```
|
78
|
+
*/
|
79
|
+
export function isRemoveSessionKeySupported(availableSelectors: string[]) {
|
80
|
+
return isSetPermissionsForSignerSupported(availableSelectors);
|
81
|
+
}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
import { readContract } from "../../../../../transaction/read-contract.js";
|
2
|
+
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
|
3
|
+
|
4
|
+
import { decodeAbiParameters } from "viem";
|
5
|
+
import type { Hex } from "../../../../../utils/encoding/hex.js";
|
6
|
+
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
|
7
|
+
|
8
|
+
export const FN_SELECTOR = "0xd637ed59" as const;
|
9
|
+
const FN_INPUTS = [] as const;
|
10
|
+
const FN_OUTPUTS = [
|
11
|
+
{
|
12
|
+
type: "uint256",
|
13
|
+
name: "currentStartId",
|
14
|
+
},
|
15
|
+
{
|
16
|
+
type: "uint256",
|
17
|
+
name: "count",
|
18
|
+
},
|
19
|
+
] as const;
|
20
|
+
|
21
|
+
/**
|
22
|
+
* Checks if the `claimCondition` method is supported by the given contract.
|
23
|
+
* @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
|
24
|
+
* @returns A boolean indicating if the `claimCondition` method is supported.
|
25
|
+
* @extension ERC721
|
26
|
+
* @example
|
27
|
+
* ```ts
|
28
|
+
* import { isClaimConditionSupported } from "thirdweb/extensions/erc721";
|
29
|
+
*
|
30
|
+
* const supported = isClaimConditionSupported(["0x..."]);
|
31
|
+
* ```
|
32
|
+
*/
|
33
|
+
export function isClaimConditionSupported(availableSelectors: string[]) {
|
34
|
+
return detectMethod({
|
35
|
+
availableSelectors,
|
36
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
37
|
+
});
|
38
|
+
}
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Decodes the result of the claimCondition function call.
|
42
|
+
* @param result - The hexadecimal result to decode.
|
43
|
+
* @returns The decoded result as per the FN_OUTPUTS definition.
|
44
|
+
* @extension ERC721
|
45
|
+
* @example
|
46
|
+
* ```ts
|
47
|
+
* import { decodeClaimConditionResult } from "thirdweb/extensions/erc721";
|
48
|
+
* const result = decodeClaimConditionResult("...");
|
49
|
+
* ```
|
50
|
+
*/
|
51
|
+
export function decodeClaimConditionResult(result: Hex) {
|
52
|
+
return decodeAbiParameters(FN_OUTPUTS, result);
|
53
|
+
}
|
54
|
+
|
55
|
+
/**
|
56
|
+
* Calls the "claimCondition" function on the contract.
|
57
|
+
* @param options - The options for the claimCondition function.
|
58
|
+
* @returns The parsed result of the function call.
|
59
|
+
* @extension ERC721
|
60
|
+
* @example
|
61
|
+
* ```ts
|
62
|
+
* import { claimCondition } from "thirdweb/extensions/erc721";
|
63
|
+
*
|
64
|
+
* const result = await claimCondition({
|
65
|
+
* contract,
|
66
|
+
* });
|
67
|
+
*
|
68
|
+
* ```
|
69
|
+
*/
|
70
|
+
export async function claimCondition(options: BaseTransactionOptions) {
|
71
|
+
return readContract({
|
72
|
+
contract: options.contract,
|
73
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
74
|
+
params: [],
|
75
|
+
});
|
76
|
+
}
|
@@ -6,6 +6,7 @@ import {
|
|
6
6
|
TEST_ACCOUNT_A,
|
7
7
|
TEST_ACCOUNT_B,
|
8
8
|
TEST_ACCOUNT_C,
|
9
|
+
TEST_ACCOUNT_D,
|
9
10
|
} from "../../../test/src/test-wallets.js";
|
10
11
|
import { type ThirdwebContract, getContract } from "../../contract/contract.js";
|
11
12
|
import { sendAndConfirmTransaction } from "../../transaction/actions/send-and-confirm-transaction.js";
|
@@ -16,7 +17,9 @@ import { deployERC20Contract } from "../prebuilts/deploy-erc20.js";
|
|
16
17
|
import { deployERC721Contract } from "../prebuilts/deploy-erc721.js";
|
17
18
|
import { balanceOf } from "./__generated__/IERC721A/read/balanceOf.js";
|
18
19
|
import { nextTokenIdToMint } from "./__generated__/IERC721Enumerable/read/nextTokenIdToMint.js";
|
20
|
+
import { getClaimConditions } from "./drops/read/getClaimConditions.js";
|
19
21
|
import { claimTo } from "./drops/write/claimTo.js";
|
22
|
+
import { resetClaimEligibility } from "./drops/write/resetClaimEligibility.js";
|
20
23
|
import { setClaimConditions } from "./drops/write/setClaimConditions.js";
|
21
24
|
import { getNFT } from "./read/getNFT.js";
|
22
25
|
import { lazyMint } from "./write/lazyMint.js";
|
@@ -83,6 +86,12 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
83
86
|
{ name: "Test NFT 2" },
|
84
87
|
{ name: "Test NFT 3" },
|
85
88
|
{ name: "Test NFT 4" },
|
89
|
+
{ name: "Test NFT 5" },
|
90
|
+
{ name: "Test NFT 6" },
|
91
|
+
{ name: "Test NFT 7" },
|
92
|
+
{ name: "Test NFT 8" },
|
93
|
+
{ name: "Test NFT 9" },
|
94
|
+
{ name: "Test NFT 10" },
|
86
95
|
],
|
87
96
|
});
|
88
97
|
await sendAndConfirmTransaction({
|
@@ -90,7 +99,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
90
99
|
account: TEST_ACCOUNT_A,
|
91
100
|
});
|
92
101
|
|
93
|
-
await expect(nextTokenIdToMint({ contract })).resolves.toBe(
|
102
|
+
await expect(nextTokenIdToMint({ contract })).resolves.toBe(10n);
|
94
103
|
await expect(
|
95
104
|
getNFT({ contract, tokenId: 0n }),
|
96
105
|
).resolves.toMatchInlineSnapshot(`
|
@@ -100,7 +109,7 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
100
109
|
"name": "Test NFT",
|
101
110
|
},
|
102
111
|
"owner": null,
|
103
|
-
"tokenURI": "ipfs://
|
112
|
+
"tokenURI": "ipfs://QmY1Rr4C7cYVPAaXykMMxg3AVbatDZ6Rd7u3gzt79CiDSB/0",
|
104
113
|
"type": "ERC721",
|
105
114
|
}
|
106
115
|
`);
|
@@ -332,5 +341,96 @@ describe.runIf(process.env.TW_SECRET_KEY)(
|
|
332
341
|
balanceOf({ contract, owner: TEST_ACCOUNT_A.address }),
|
333
342
|
).resolves.toBe(3n);
|
334
343
|
});
|
344
|
+
|
345
|
+
it("should be able to retrieve multiple phases", async () => {
|
346
|
+
await sendAndConfirmTransaction({
|
347
|
+
transaction: setClaimConditions({
|
348
|
+
contract,
|
349
|
+
phases: [
|
350
|
+
{
|
351
|
+
maxClaimablePerWallet: 1n,
|
352
|
+
startTime: new Date(0),
|
353
|
+
},
|
354
|
+
{
|
355
|
+
maxClaimablePerWallet: 2n,
|
356
|
+
startTime: new Date(),
|
357
|
+
},
|
358
|
+
],
|
359
|
+
}),
|
360
|
+
account: TEST_ACCOUNT_A,
|
361
|
+
});
|
362
|
+
|
363
|
+
const phases = await getClaimConditions({ contract });
|
364
|
+
expect(phases).toHaveLength(2);
|
365
|
+
expect(phases[0]?.quantityLimitPerWallet).toBe(1n);
|
366
|
+
expect(phases[1]?.quantityLimitPerWallet).toBe(2n);
|
367
|
+
});
|
368
|
+
|
369
|
+
it("should be able to reset claim eligibility", async () => {
|
370
|
+
// set claim conditions to only allow one claim
|
371
|
+
await sendAndConfirmTransaction({
|
372
|
+
transaction: setClaimConditions({
|
373
|
+
contract,
|
374
|
+
phases: [
|
375
|
+
{
|
376
|
+
maxClaimablePerWallet: 1n,
|
377
|
+
},
|
378
|
+
],
|
379
|
+
}),
|
380
|
+
account: TEST_ACCOUNT_A,
|
381
|
+
});
|
382
|
+
// claim one token
|
383
|
+
await sendAndConfirmTransaction({
|
384
|
+
transaction: claimTo({
|
385
|
+
contract,
|
386
|
+
// fresh account to avoid any previous claims
|
387
|
+
to: TEST_ACCOUNT_D.address,
|
388
|
+
quantity: 1n,
|
389
|
+
}),
|
390
|
+
// fresh account to avoid any previous claims
|
391
|
+
account: TEST_ACCOUNT_D,
|
392
|
+
});
|
393
|
+
// check that the account has claimed one token
|
394
|
+
await expect(
|
395
|
+
balanceOf({ contract, owner: TEST_ACCOUNT_D.address }),
|
396
|
+
).resolves.toBe(1n);
|
397
|
+
// attempt to claim another token (this should fail)
|
398
|
+
await expect(
|
399
|
+
sendAndConfirmTransaction({
|
400
|
+
transaction: claimTo({
|
401
|
+
contract,
|
402
|
+
to: TEST_ACCOUNT_D.address,
|
403
|
+
quantity: 1n,
|
404
|
+
}),
|
405
|
+
account: TEST_ACCOUNT_D,
|
406
|
+
}),
|
407
|
+
).rejects.toThrowErrorMatchingInlineSnapshot(`
|
408
|
+
[TransactionError: Error - !Qty
|
409
|
+
|
410
|
+
contract: 0x6AA2E0148a57EcDdb025C856c4e68682CFfcac78
|
411
|
+
chainId: 31337]
|
412
|
+
`);
|
413
|
+
|
414
|
+
// reset claim eligibility
|
415
|
+
await sendAndConfirmTransaction({
|
416
|
+
transaction: resetClaimEligibility({
|
417
|
+
contract,
|
418
|
+
}),
|
419
|
+
account: TEST_ACCOUNT_A,
|
420
|
+
});
|
421
|
+
// attempt to claim another token (this should succeed)
|
422
|
+
await sendAndConfirmTransaction({
|
423
|
+
transaction: claimTo({
|
424
|
+
contract,
|
425
|
+
to: TEST_ACCOUNT_D.address,
|
426
|
+
quantity: 1n,
|
427
|
+
}),
|
428
|
+
account: TEST_ACCOUNT_D,
|
429
|
+
});
|
430
|
+
// check that the account has claimed two tokens
|
431
|
+
await expect(
|
432
|
+
balanceOf({ contract, owner: TEST_ACCOUNT_D.address }),
|
433
|
+
).resolves.toBe(2n);
|
434
|
+
});
|
335
435
|
},
|
336
436
|
);
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import type { BaseTransactionOptions } from "../../../../transaction/types.js";
|
2
2
|
import type { ClaimCondition } from "../../../../utils/extensions/drops/types.js";
|
3
|
-
import
|
4
|
-
import
|
5
|
-
import
|
3
|
+
import * as SinglePhase from "../../__generated__/DropSinglePhase/read/claimCondition.js";
|
4
|
+
import * as GetActiveId from "../../__generated__/IDrop/read/getActiveClaimConditionId.js";
|
5
|
+
import * as ById from "../../__generated__/IDrop/read/getClaimConditionById.js";
|
6
6
|
|
7
7
|
/**
|
8
8
|
* Retrieves the active claim condition.
|
@@ -20,8 +20,8 @@ export async function getActiveClaimCondition(
|
|
20
20
|
options: BaseTransactionOptions,
|
21
21
|
): Promise<ClaimCondition> {
|
22
22
|
const getActiveClaimConditionMultiPhase = async () => {
|
23
|
-
const conditionId = await getActiveClaimConditionId(options);
|
24
|
-
return getClaimConditionById({ ...options, conditionId });
|
23
|
+
const conditionId = await GetActiveId.getActiveClaimConditionId(options);
|
24
|
+
return ById.getClaimConditionById({ ...options, conditionId });
|
25
25
|
};
|
26
26
|
const getActiveClaimConditionSinglePhase = async () => {
|
27
27
|
const [
|
@@ -33,7 +33,7 @@ export async function getActiveClaimCondition(
|
|
33
33
|
pricePerToken,
|
34
34
|
currency,
|
35
35
|
metadata,
|
36
|
-
] = await claimCondition(options);
|
36
|
+
] = await SinglePhase.claimCondition(options);
|
37
37
|
return {
|
38
38
|
startTimestamp,
|
39
39
|
maxClaimableSupply,
|
@@ -58,3 +58,29 @@ export async function getActiveClaimCondition(
|
|
58
58
|
}
|
59
59
|
throw new Error("Claim condition not found");
|
60
60
|
}
|
61
|
+
|
62
|
+
/**
|
63
|
+
* Checks if the `getActiveClaimCondition` method is supported by the given contract.
|
64
|
+
* @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
|
65
|
+
* @returns A boolean indicating if the `getActiveClaimCondition` method is supported.
|
66
|
+
* @extension ERC721
|
67
|
+
* @example
|
68
|
+
* ```ts
|
69
|
+
* import { isGetActiveClaimConditionSupported } from "thirdweb/extensions/erc721";
|
70
|
+
*
|
71
|
+
* const supported = isGetActiveClaimConditionSupported(["0x..."]);
|
72
|
+
* ```
|
73
|
+
*/
|
74
|
+
export function isGetActiveClaimConditionSupported(
|
75
|
+
availableSelectors: string[],
|
76
|
+
) {
|
77
|
+
// if single phase is supported, return true
|
78
|
+
if (SinglePhase.isClaimConditionSupported(availableSelectors)) {
|
79
|
+
return true;
|
80
|
+
}
|
81
|
+
// otherwise check that both multi phase functions are supported
|
82
|
+
return (
|
83
|
+
GetActiveId.isGetActiveClaimConditionIdSupported(availableSelectors) &&
|
84
|
+
ById.isGetClaimConditionByIdSupported(availableSelectors)
|
85
|
+
);
|
86
|
+
}
|