thirdweb 5.64.4-nightly-043ee925981bdc39649d30ad65d2fce922515ab0-20241030000335 → 5.64.4
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/exports/wallets/smart.js +2 -1
- package/dist/cjs/exports/wallets/smart.js.map +1 -1
- package/dist/cjs/extensions/erc1155/__generated__/IDropSinglePhase1155/events/ClaimConditionUpdated.js +31 -0
- package/dist/cjs/extensions/erc1155/__generated__/IDropSinglePhase1155/events/ClaimConditionUpdated.js.map +1 -0
- package/dist/cjs/extensions/erc1155/__generated__/IDropSinglePhase1155/events/TokensClaimed.js +33 -0
- package/dist/cjs/extensions/erc1155/__generated__/IDropSinglePhase1155/events/TokensClaimed.js.map +1 -0
- package/dist/cjs/extensions/erc1155/__generated__/IDropSinglePhase1155/read/claimCondition.js +149 -0
- package/dist/cjs/extensions/erc1155/__generated__/IDropSinglePhase1155/read/claimCondition.js.map +1 -0
- package/dist/cjs/extensions/erc1155/__generated__/IDropSinglePhase1155/write/claim.js +193 -0
- package/dist/cjs/extensions/erc1155/__generated__/IDropSinglePhase1155/write/claim.js.map +1 -0
- package/dist/cjs/extensions/erc1155/__generated__/IDropSinglePhase1155/write/setClaimConditions.js +173 -0
- package/dist/cjs/extensions/erc1155/__generated__/IDropSinglePhase1155/write/setClaimConditions.js.map +1 -0
- package/dist/cjs/extensions/erc1155/drops/write/claimTo.js +5 -2
- package/dist/cjs/extensions/erc1155/drops/write/claimTo.js.map +1 -1
- package/dist/cjs/extensions/erc1155/drops/write/setClaimConditions.js +4 -1
- package/dist/cjs/extensions/erc1155/drops/write/setClaimConditions.js.map +1 -1
- package/dist/cjs/extensions/erc20/drops/write/claimTo.js +1 -0
- package/dist/cjs/extensions/erc20/drops/write/claimTo.js.map +1 -1
- package/dist/cjs/extensions/erc20/drops/write/setClaimConditions.js +1 -0
- package/dist/cjs/extensions/erc20/drops/write/setClaimConditions.js.map +1 -1
- package/dist/cjs/extensions/erc721/__generated__/IDropSinglePhase/events/ClaimConditionUpdated.js +27 -0
- package/dist/cjs/extensions/erc721/__generated__/IDropSinglePhase/events/ClaimConditionUpdated.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/IDropSinglePhase/events/TokensClaimed.js +33 -0
- package/dist/cjs/extensions/erc721/__generated__/IDropSinglePhase/events/TokensClaimed.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/IDropSinglePhase/read/claimCondition.js +105 -0
- package/dist/cjs/extensions/erc721/__generated__/IDropSinglePhase/read/claimCondition.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/IDropSinglePhase/write/claim.js +184 -0
- package/dist/cjs/extensions/erc721/__generated__/IDropSinglePhase/write/claim.js.map +1 -0
- package/dist/cjs/extensions/erc721/__generated__/IDropSinglePhase/write/setClaimConditions.js +164 -0
- package/dist/cjs/extensions/erc721/__generated__/IDropSinglePhase/write/setClaimConditions.js.map +1 -0
- package/dist/cjs/extensions/erc721/drops/write/claimTo.js +6 -3
- package/dist/cjs/extensions/erc721/drops/write/claimTo.js.map +1 -1
- package/dist/cjs/extensions/erc721/drops/write/setClaimConditions.js +4 -1
- package/dist/cjs/extensions/erc721/drops/write/setClaimConditions.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/TransactionsScreen.js +2 -1
- package/dist/cjs/react/web/ui/ConnectWallet/TransactionsScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js +3 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js +2 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.js +4 -3
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.js +2 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.js.map +1 -1
- package/dist/cjs/react/web/ui/TransactionButton/ExecutingScreen.js +2 -1
- package/dist/cjs/react/web/ui/TransactionButton/ExecutingScreen.js.map +1 -1
- package/dist/cjs/transaction/prepare-contract-call.js +23 -0
- package/dist/cjs/transaction/prepare-contract-call.js.map +1 -1
- package/dist/cjs/utils/extensions/drops/get-claim-params.js +20 -0
- package/dist/cjs/utils/extensions/drops/get-claim-params.js.map +1 -1
- package/dist/cjs/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.js +39 -12
- package/dist/cjs/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.js.map +1 -1
- package/dist/cjs/utils/url.js +8 -0
- package/dist/cjs/utils/url.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/authentication/authEndpoint.js +7 -6
- package/dist/cjs/wallets/in-app/core/authentication/authEndpoint.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/authentication/guest.js +17 -20
- package/dist/cjs/wallets/in-app/core/authentication/guest.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/authentication/jwt.js +7 -6
- package/dist/cjs/wallets/in-app/core/authentication/jwt.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/helpers/api/fetchers.js +0 -1
- package/dist/cjs/wallets/in-app/native/helpers/api/fetchers.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/native-connector.js +2 -2
- package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js +17 -20
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/calls.js +31 -0
- package/dist/cjs/wallets/smart/lib/calls.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/userop.js +1 -0
- package/dist/cjs/wallets/smart/lib/userop.js.map +1 -1
- package/dist/esm/exports/wallets/smart.js +1 -1
- package/dist/esm/exports/wallets/smart.js.map +1 -1
- package/dist/esm/extensions/erc1155/__generated__/IDropSinglePhase1155/events/ClaimConditionUpdated.js +28 -0
- package/dist/esm/extensions/erc1155/__generated__/IDropSinglePhase1155/events/ClaimConditionUpdated.js.map +1 -0
- package/dist/esm/extensions/erc1155/__generated__/IDropSinglePhase1155/events/TokensClaimed.js +30 -0
- package/dist/esm/extensions/erc1155/__generated__/IDropSinglePhase1155/events/TokensClaimed.js.map +1 -0
- package/dist/esm/extensions/erc1155/__generated__/IDropSinglePhase1155/read/claimCondition.js +141 -0
- package/dist/esm/extensions/erc1155/__generated__/IDropSinglePhase1155/read/claimCondition.js.map +1 -0
- package/dist/esm/extensions/erc1155/__generated__/IDropSinglePhase1155/write/claim.js +186 -0
- package/dist/esm/extensions/erc1155/__generated__/IDropSinglePhase1155/write/claim.js.map +1 -0
- package/dist/esm/extensions/erc1155/__generated__/IDropSinglePhase1155/write/setClaimConditions.js +166 -0
- package/dist/esm/extensions/erc1155/__generated__/IDropSinglePhase1155/write/setClaimConditions.js.map +1 -0
- package/dist/esm/extensions/erc1155/drops/write/claimTo.js +5 -2
- package/dist/esm/extensions/erc1155/drops/write/claimTo.js.map +1 -1
- package/dist/esm/extensions/erc1155/drops/write/setClaimConditions.js +4 -1
- package/dist/esm/extensions/erc1155/drops/write/setClaimConditions.js.map +1 -1
- package/dist/esm/extensions/erc20/drops/write/claimTo.js +1 -0
- package/dist/esm/extensions/erc20/drops/write/claimTo.js.map +1 -1
- package/dist/esm/extensions/erc20/drops/write/setClaimConditions.js +1 -0
- package/dist/esm/extensions/erc20/drops/write/setClaimConditions.js.map +1 -1
- package/dist/esm/extensions/erc721/__generated__/IDropSinglePhase/events/ClaimConditionUpdated.js +24 -0
- package/dist/esm/extensions/erc721/__generated__/IDropSinglePhase/events/ClaimConditionUpdated.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/IDropSinglePhase/events/TokensClaimed.js +30 -0
- package/dist/esm/extensions/erc721/__generated__/IDropSinglePhase/events/TokensClaimed.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/IDropSinglePhase/read/claimCondition.js +99 -0
- package/dist/esm/extensions/erc721/__generated__/IDropSinglePhase/read/claimCondition.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/IDropSinglePhase/write/claim.js +177 -0
- package/dist/esm/extensions/erc721/__generated__/IDropSinglePhase/write/claim.js.map +1 -0
- package/dist/esm/extensions/erc721/__generated__/IDropSinglePhase/write/setClaimConditions.js +157 -0
- package/dist/esm/extensions/erc721/__generated__/IDropSinglePhase/write/setClaimConditions.js.map +1 -0
- package/dist/esm/extensions/erc721/drops/write/claimTo.js +6 -3
- package/dist/esm/extensions/erc721/drops/write/claimTo.js.map +1 -1
- package/dist/esm/extensions/erc721/drops/write/setClaimConditions.js +4 -1
- package/dist/esm/extensions/erc721/drops/write/setClaimConditions.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/TransactionsScreen.js +2 -1
- package/dist/esm/react/web/ui/ConnectWallet/TransactionsScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js +3 -2
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js +2 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.js +4 -3
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.js +2 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.js.map +1 -1
- package/dist/esm/react/web/ui/TransactionButton/ExecutingScreen.js +2 -1
- package/dist/esm/react/web/ui/TransactionButton/ExecutingScreen.js.map +1 -1
- package/dist/esm/transaction/prepare-contract-call.js +23 -0
- package/dist/esm/transaction/prepare-contract-call.js.map +1 -1
- package/dist/esm/utils/extensions/drops/get-claim-params.js +20 -0
- package/dist/esm/utils/extensions/drops/get-claim-params.js.map +1 -1
- package/dist/esm/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.js +39 -12
- package/dist/esm/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.js.map +1 -1
- package/dist/esm/utils/url.js +6 -0
- package/dist/esm/utils/url.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/wallets/in-app/core/authentication/authEndpoint.js +7 -6
- package/dist/esm/wallets/in-app/core/authentication/authEndpoint.js.map +1 -1
- package/dist/esm/wallets/in-app/core/authentication/guest.js +17 -20
- package/dist/esm/wallets/in-app/core/authentication/guest.js.map +1 -1
- package/dist/esm/wallets/in-app/core/authentication/jwt.js +7 -6
- package/dist/esm/wallets/in-app/core/authentication/jwt.js.map +1 -1
- package/dist/esm/wallets/in-app/native/helpers/api/fetchers.js +1 -1
- package/dist/esm/wallets/in-app/native/helpers/api/fetchers.js.map +1 -1
- package/dist/esm/wallets/in-app/native/native-connector.js +2 -2
- package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/web-connector.js +17 -20
- package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/esm/wallets/smart/lib/calls.js +30 -0
- package/dist/esm/wallets/smart/lib/calls.js.map +1 -1
- package/dist/esm/wallets/smart/lib/userop.js +1 -0
- package/dist/esm/wallets/smart/lib/userop.js.map +1 -1
- package/dist/types/exports/wallets/smart.d.ts +1 -1
- package/dist/types/exports/wallets/smart.d.ts.map +1 -1
- package/dist/types/extensions/erc1155/__generated__/IDropSinglePhase1155/events/ClaimConditionUpdated.d.ts +72 -0
- package/dist/types/extensions/erc1155/__generated__/IDropSinglePhase1155/events/ClaimConditionUpdated.d.ts.map +1 -0
- package/dist/types/extensions/erc1155/__generated__/IDropSinglePhase1155/events/TokensClaimed.d.ts +64 -0
- package/dist/types/extensions/erc1155/__generated__/IDropSinglePhase1155/events/TokensClaimed.d.ts.map +1 -0
- package/dist/types/extensions/erc1155/__generated__/IDropSinglePhase1155/read/claimCondition.d.ts +101 -0
- package/dist/types/extensions/erc1155/__generated__/IDropSinglePhase1155/read/claimCondition.d.ts.map +1 -0
- package/dist/types/extensions/erc1155/__generated__/IDropSinglePhase1155/write/claim.d.ts +139 -0
- package/dist/types/extensions/erc1155/__generated__/IDropSinglePhase1155/write/claim.d.ts.map +1 -0
- package/dist/types/extensions/erc1155/__generated__/IDropSinglePhase1155/write/setClaimConditions.d.ts +127 -0
- package/dist/types/extensions/erc1155/__generated__/IDropSinglePhase1155/write/setClaimConditions.d.ts.map +1 -0
- package/dist/types/extensions/erc1155/drops/write/claimTo.d.ts +1 -0
- package/dist/types/extensions/erc1155/drops/write/claimTo.d.ts.map +1 -1
- package/dist/types/extensions/erc1155/drops/write/setClaimConditions.d.ts +1 -0
- package/dist/types/extensions/erc1155/drops/write/setClaimConditions.d.ts.map +1 -1
- package/dist/types/extensions/erc20/drops/write/claimTo.d.ts +1 -0
- package/dist/types/extensions/erc20/drops/write/claimTo.d.ts.map +1 -1
- package/dist/types/extensions/erc20/drops/write/setClaimConditions.d.ts +1 -0
- package/dist/types/extensions/erc20/drops/write/setClaimConditions.d.ts.map +1 -1
- package/dist/types/extensions/erc721/__generated__/IDropSinglePhase/events/ClaimConditionUpdated.d.ts +54 -0
- package/dist/types/extensions/erc721/__generated__/IDropSinglePhase/events/ClaimConditionUpdated.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/IDropSinglePhase/events/TokensClaimed.d.ts +64 -0
- package/dist/types/extensions/erc721/__generated__/IDropSinglePhase/events/TokensClaimed.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/IDropSinglePhase/read/claimCondition.d.ts +62 -0
- package/dist/types/extensions/erc721/__generated__/IDropSinglePhase/read/claimCondition.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/IDropSinglePhase/write/claim.d.ts +132 -0
- package/dist/types/extensions/erc721/__generated__/IDropSinglePhase/write/claim.d.ts.map +1 -0
- package/dist/types/extensions/erc721/__generated__/IDropSinglePhase/write/setClaimConditions.d.ts +120 -0
- package/dist/types/extensions/erc721/__generated__/IDropSinglePhase/write/setClaimConditions.d.ts.map +1 -0
- package/dist/types/extensions/erc721/drops/write/claimTo.d.ts +1 -0
- package/dist/types/extensions/erc721/drops/write/claimTo.d.ts.map +1 -1
- package/dist/types/extensions/erc721/drops/write/setClaimConditions.d.ts +1 -0
- package/dist/types/extensions/erc721/drops/write/setClaimConditions.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/TransactionsScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.d.ts.map +1 -1
- package/dist/types/react/web/ui/TransactionButton/ExecutingScreen.d.ts.map +1 -1
- package/dist/types/transaction/prepare-contract-call.d.ts +23 -0
- package/dist/types/transaction/prepare-contract-call.d.ts.map +1 -1
- package/dist/types/utils/extensions/drops/get-claim-params.d.ts +1 -0
- package/dist/types/utils/extensions/drops/get-claim-params.d.ts.map +1 -1
- package/dist/types/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.d.ts +1 -0
- package/dist/types/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.d.ts.map +1 -1
- package/dist/types/utils/url.d.ts +2 -0
- package/dist/types/utils/url.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/authentication/authEndpoint.d.ts +2 -2
- package/dist/types/wallets/in-app/core/authentication/authEndpoint.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/authentication/guest.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/authentication/jwt.d.ts +2 -2
- package/dist/types/wallets/in-app/core/authentication/jwt.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/api/fetchers.d.ts +0 -4
- package/dist/types/wallets/in-app/native/helpers/api/fetchers.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts +1 -1
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/calls.d.ts +27 -1
- package/dist/types/wallets/smart/lib/calls.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/userop.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/exports/wallets/smart.ts +4 -1
- package/src/extensions/erc1155/__generated__/IDropSinglePhase1155/events/ClaimConditionUpdated.ts +43 -0
- package/src/extensions/erc1155/__generated__/IDropSinglePhase1155/events/TokensClaimed.ts +53 -0
- package/src/extensions/erc1155/__generated__/IDropSinglePhase1155/read/claimCondition.ts +160 -0
- package/src/extensions/erc1155/__generated__/IDropSinglePhase1155/write/claim.ts +229 -0
- package/src/extensions/erc1155/__generated__/IDropSinglePhase1155/write/setClaimConditions.ts +213 -0
- package/src/extensions/erc1155/customDrop1155.test.ts +181 -0
- package/src/extensions/erc1155/drops/write/claimTo.ts +6 -2
- package/src/extensions/erc1155/drops/write/setClaimConditions.ts +5 -1
- package/src/extensions/erc20/customDrop20.test.ts +80 -0
- package/src/extensions/erc20/drops/write/claimTo.ts +2 -0
- package/src/extensions/erc20/drops/write/setClaimConditions.ts +2 -0
- package/src/extensions/erc721/__generated__/IDropSinglePhase/events/ClaimConditionUpdated.ts +25 -0
- package/src/extensions/erc721/__generated__/IDropSinglePhase/events/TokensClaimed.ts +53 -0
- package/src/extensions/erc721/__generated__/IDropSinglePhase/read/claimCondition.ts +105 -0
- package/src/extensions/erc721/__generated__/IDropSinglePhase/write/claim.ts +219 -0
- package/src/extensions/erc721/__generated__/IDropSinglePhase/write/setClaimConditions.ts +203 -0
- package/src/extensions/erc721/customDrop721.test.ts +115 -0
- package/src/extensions/erc721/drops/write/claimTo.ts +7 -3
- package/src/extensions/erc721/drops/write/setClaimConditions.ts +5 -1
- package/src/react/web/ui/ConnectWallet/TransactionsScreen.tsx +5 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.tsx +9 -2
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.tsx +5 -3
- package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.tsx +13 -3
- package/src/react/web/ui/ConnectWallet/screens/WalletTransactionHistory.tsx +2 -1
- package/src/react/web/ui/TransactionButton/ExecutingScreen.tsx +5 -1
- package/src/transaction/prepare-contract-call.ts +23 -0
- package/src/utils/extensions/drops/get-claim-params.ts +29 -2
- package/src/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.ts +46 -16
- package/src/utils/url.ts +8 -0
- package/src/version.ts +1 -1
- package/src/wallets/in-app/core/authentication/authEndpoint.ts +11 -8
- package/src/wallets/in-app/core/authentication/guest.ts +16 -19
- package/src/wallets/in-app/core/authentication/jwt.ts +11 -8
- package/src/wallets/in-app/native/helpers/api/fetchers.ts +1 -1
- package/src/wallets/in-app/native/native-connector.ts +2 -2
- package/src/wallets/in-app/web/lib/web-connector.ts +20 -20
- package/src/wallets/smart/lib/calls.ts +42 -1
- package/src/wallets/smart/lib/userop.ts +1 -0
- package/src/wallets/smart/smart-wallet-integration-v07.test.ts +8 -0
- package/src/wallets/smart/smart-wallet-integration.test.ts +7 -0
@@ -0,0 +1,181 @@
|
|
1
|
+
import { fetchDeployMetadata } from "../../utils/any-evm/deploy-metadata.js";
|
2
|
+
|
3
|
+
import { beforeAll, describe, expect, it } from "vitest";
|
4
|
+
import { VITALIK_WALLET } from "../../../test/src/addresses.js";
|
5
|
+
import { ANVIL_CHAIN } from "../../../test/src/chains.js";
|
6
|
+
import { TEST_CLIENT } from "../../../test/src/test-clients.js";
|
7
|
+
import {
|
8
|
+
TEST_ACCOUNT_B,
|
9
|
+
TEST_ACCOUNT_C,
|
10
|
+
} from "../../../test/src/test-wallets.js";
|
11
|
+
import { type ThirdwebContract, getContract } from "../../contract/contract.js";
|
12
|
+
import { sendAndConfirmTransaction } from "../../transaction/actions/send-and-confirm-transaction.js";
|
13
|
+
import { deployContractfromDeployMetadata } from "../prebuilts/deploy-published.js";
|
14
|
+
import { balanceOf } from "./__generated__/IERC1155/read/balanceOf.js";
|
15
|
+
import { nextTokenIdToMint } from "./__generated__/IERC1155Enumerable/read/nextTokenIdToMint.js";
|
16
|
+
import { claimTo } from "./drops/write/claimTo.js";
|
17
|
+
import { setClaimConditions } from "./drops/write/setClaimConditions.js";
|
18
|
+
import { getNFT } from "./read/getNFT.js";
|
19
|
+
import { lazyMint } from "./write/lazyMint.js";
|
20
|
+
|
21
|
+
describe.runIf(process.env.TW_SECRET_KEY)(
|
22
|
+
"CustomDropERC1155",
|
23
|
+
{
|
24
|
+
retry: 0,
|
25
|
+
},
|
26
|
+
() => {
|
27
|
+
let contract: ThirdwebContract;
|
28
|
+
|
29
|
+
beforeAll(async () => {
|
30
|
+
const customDropDeployMetadata = await fetchDeployMetadata({
|
31
|
+
client: TEST_CLIENT,
|
32
|
+
uri: "ipfs://QmaqFExXhU8kWkgAZCqxo8F3GZd8D2NJzCJWerfmFjujo8",
|
33
|
+
});
|
34
|
+
const contractAddress = await deployContractfromDeployMetadata({
|
35
|
+
chain: ANVIL_CHAIN,
|
36
|
+
client: TEST_CLIENT,
|
37
|
+
account: TEST_ACCOUNT_C,
|
38
|
+
deployMetadata: customDropDeployMetadata,
|
39
|
+
initializeParams: {
|
40
|
+
defaultAdmin: TEST_ACCOUNT_C.address,
|
41
|
+
name: "TestCustomDropERC1155",
|
42
|
+
symbol: "TT",
|
43
|
+
},
|
44
|
+
});
|
45
|
+
|
46
|
+
contract = getContract({
|
47
|
+
address: contractAddress,
|
48
|
+
chain: ANVIL_CHAIN,
|
49
|
+
client: TEST_CLIENT,
|
50
|
+
});
|
51
|
+
// this deploys a contract, it may take some time
|
52
|
+
}, 60_000);
|
53
|
+
|
54
|
+
it("should allow for lazy minting tokens", async () => {
|
55
|
+
const mintTx = lazyMint({
|
56
|
+
contract,
|
57
|
+
nfts: [
|
58
|
+
{ name: "Test NFT" },
|
59
|
+
{ name: "Test NFT 2" },
|
60
|
+
{ name: "Test NFT 3" },
|
61
|
+
{ name: "Test NFT 4" },
|
62
|
+
{ name: "Test NFT 5" },
|
63
|
+
{ name: "Test NFT 6" },
|
64
|
+
],
|
65
|
+
});
|
66
|
+
await sendAndConfirmTransaction({
|
67
|
+
transaction: mintTx,
|
68
|
+
account: TEST_ACCOUNT_C,
|
69
|
+
});
|
70
|
+
|
71
|
+
await expect(nextTokenIdToMint({ contract })).resolves.toBe(6n);
|
72
|
+
await expect(
|
73
|
+
getNFT({ contract, tokenId: 0n }),
|
74
|
+
).resolves.toMatchInlineSnapshot(`
|
75
|
+
{
|
76
|
+
"id": 0n,
|
77
|
+
"metadata": {
|
78
|
+
"name": "Test NFT",
|
79
|
+
},
|
80
|
+
"owner": null,
|
81
|
+
"supply": 0n,
|
82
|
+
"tokenURI": "ipfs://QmTo68Dm1ntSp2BHLmE9gesS6ELuXosRz5mAgFCK6tfsRk/0",
|
83
|
+
"type": "ERC1155",
|
84
|
+
}
|
85
|
+
`);
|
86
|
+
});
|
87
|
+
|
88
|
+
it("should allow to claim tokens", async () => {
|
89
|
+
await expect(
|
90
|
+
balanceOf({ contract, owner: TEST_ACCOUNT_C.address, tokenId: 0n }),
|
91
|
+
).resolves.toBe(0n);
|
92
|
+
await sendAndConfirmTransaction({
|
93
|
+
transaction: setClaimConditions({
|
94
|
+
contract,
|
95
|
+
phases: [
|
96
|
+
{
|
97
|
+
startTime: new Date(0),
|
98
|
+
maxClaimableSupply: 10n,
|
99
|
+
},
|
100
|
+
],
|
101
|
+
tokenId: 0n,
|
102
|
+
singlePhaseDrop: true,
|
103
|
+
}),
|
104
|
+
account: TEST_ACCOUNT_C,
|
105
|
+
});
|
106
|
+
const claimTx = claimTo({
|
107
|
+
contract,
|
108
|
+
to: TEST_ACCOUNT_C.address,
|
109
|
+
tokenId: 0n,
|
110
|
+
quantity: 1n,
|
111
|
+
singlePhaseDrop: true,
|
112
|
+
});
|
113
|
+
await sendAndConfirmTransaction({
|
114
|
+
transaction: claimTx,
|
115
|
+
account: TEST_ACCOUNT_C,
|
116
|
+
});
|
117
|
+
await expect(
|
118
|
+
balanceOf({ contract, owner: TEST_ACCOUNT_C.address, tokenId: 0n }),
|
119
|
+
).resolves.toBe(1n);
|
120
|
+
});
|
121
|
+
|
122
|
+
it("should allow to claim tokens with an allowlist", async () => {
|
123
|
+
const tokenId = 1n;
|
124
|
+
await sendAndConfirmTransaction({
|
125
|
+
transaction: setClaimConditions({
|
126
|
+
contract,
|
127
|
+
phases: [
|
128
|
+
{
|
129
|
+
overrideList: [
|
130
|
+
{ address: TEST_ACCOUNT_C.address, maxClaimable: "100" },
|
131
|
+
{ address: VITALIK_WALLET, maxClaimable: "100" },
|
132
|
+
],
|
133
|
+
maxClaimablePerWallet: 0n,
|
134
|
+
},
|
135
|
+
],
|
136
|
+
tokenId,
|
137
|
+
singlePhaseDrop: true,
|
138
|
+
}),
|
139
|
+
account: TEST_ACCOUNT_C,
|
140
|
+
});
|
141
|
+
|
142
|
+
await expect(
|
143
|
+
balanceOf({ contract, owner: TEST_ACCOUNT_B.address, tokenId }),
|
144
|
+
).resolves.toBe(0n);
|
145
|
+
|
146
|
+
await sendAndConfirmTransaction({
|
147
|
+
account: TEST_ACCOUNT_C,
|
148
|
+
transaction: claimTo({
|
149
|
+
contract,
|
150
|
+
from: TEST_ACCOUNT_C.address,
|
151
|
+
to: TEST_ACCOUNT_B.address,
|
152
|
+
tokenId,
|
153
|
+
quantity: 1n,
|
154
|
+
singlePhaseDrop: true,
|
155
|
+
}),
|
156
|
+
});
|
157
|
+
|
158
|
+
await expect(
|
159
|
+
balanceOf({ contract, owner: TEST_ACCOUNT_B.address, tokenId }),
|
160
|
+
).resolves.toBe(1n);
|
161
|
+
|
162
|
+
await expect(
|
163
|
+
sendAndConfirmTransaction({
|
164
|
+
account: TEST_ACCOUNT_B,
|
165
|
+
transaction: claimTo({
|
166
|
+
contract,
|
167
|
+
to: TEST_ACCOUNT_B.address,
|
168
|
+
tokenId,
|
169
|
+
quantity: 1n,
|
170
|
+
singlePhaseDrop: true,
|
171
|
+
}),
|
172
|
+
}),
|
173
|
+
).rejects.toThrowErrorMatchingInlineSnapshot(`
|
174
|
+
[TransactionError: Error - !Qty
|
175
|
+
|
176
|
+
contract: ${contract.address}
|
177
|
+
chainId: ${contract.chain.id}]
|
178
|
+
`);
|
179
|
+
});
|
180
|
+
},
|
181
|
+
);
|
@@ -2,6 +2,7 @@ import type { BaseTransactionOptions } from "../../../../transaction/types.js";
|
|
2
2
|
import { getClaimParams } from "../../../../utils/extensions/drops/get-claim-params.js";
|
3
3
|
import { isGetContractMetadataSupported } from "../../../common/read/getContractMetadata.js";
|
4
4
|
import * as GeneratedClaim from "../../__generated__/IDrop1155/write/claim.js";
|
5
|
+
import { isClaimConditionSupported } from "../../__generated__/IDropSinglePhase1155/read/claimCondition.js";
|
5
6
|
import { isGetActiveClaimConditionSupported } from "../read/getActiveClaimCondition.js";
|
6
7
|
|
7
8
|
/**
|
@@ -12,6 +13,7 @@ export type ClaimToParams = {
|
|
12
13
|
tokenId: bigint;
|
13
14
|
quantity: bigint;
|
14
15
|
from?: string;
|
16
|
+
singlePhaseDrop?: boolean;
|
15
17
|
};
|
16
18
|
|
17
19
|
/**
|
@@ -59,6 +61,7 @@ export function claimTo(options: BaseTransactionOptions<ClaimToParams>) {
|
|
59
61
|
quantity: options.quantity,
|
60
62
|
from: options.from,
|
61
63
|
tokenId: options.tokenId,
|
64
|
+
singlePhaseDrop: options.singlePhaseDrop,
|
62
65
|
});
|
63
66
|
|
64
67
|
return {
|
@@ -85,9 +88,10 @@ export function isClaimToSupported(availableSelectors: string[]) {
|
|
85
88
|
return [
|
86
89
|
// has to support the claim method
|
87
90
|
GeneratedClaim.isClaimSupported(availableSelectors),
|
88
|
-
// has to support the getActiveClaimCondition method
|
89
|
-
isGetActiveClaimConditionSupported(availableSelectors),
|
90
91
|
// requires contractMetadata for claimer proofs
|
91
92
|
isGetContractMetadataSupported(availableSelectors),
|
93
|
+
// required to check if the contract supports the getActiveClaimCondition method
|
94
|
+
isGetActiveClaimConditionSupported(availableSelectors) ||
|
95
|
+
isClaimConditionSupported(availableSelectors),
|
92
96
|
].every(Boolean);
|
93
97
|
}
|
@@ -8,6 +8,7 @@ import {
|
|
8
8
|
} from "../../../common/__generated__/IMulticall/write/multicall.js";
|
9
9
|
import { isGetContractMetadataSupported } from "../../../common/read/getContractMetadata.js";
|
10
10
|
import { isSetClaimConditionsSupported as isSetClaimConditionsSupportedGenerated } from "../../__generated__/IDrop1155/write/setClaimConditions.js";
|
11
|
+
import { isSetClaimConditionsSupported as isSetClaimConditionsSupportedGeneratedSinglePhase } from "../../__generated__/IDropSinglePhase1155/write/setClaimConditions.js";
|
11
12
|
|
12
13
|
/**
|
13
14
|
* @extension ERC1155
|
@@ -16,6 +17,7 @@ export type SetClaimConditionsParams = {
|
|
16
17
|
tokenId: bigint;
|
17
18
|
phases: ClaimConditionsInput[];
|
18
19
|
resetClaimEligibility?: boolean;
|
20
|
+
singlePhaseDrop?: boolean;
|
19
21
|
};
|
20
22
|
|
21
23
|
/**
|
@@ -58,6 +60,7 @@ export function setClaimConditions(
|
|
58
60
|
resetClaimEligibility: options.resetClaimEligibility,
|
59
61
|
tokenId: options.tokenId,
|
60
62
|
tokenDecimals: 0,
|
63
|
+
singlePhase: options.singlePhaseDrop,
|
61
64
|
}),
|
62
65
|
};
|
63
66
|
},
|
@@ -83,6 +86,7 @@ export function isSetClaimConditionsSupported(availableSelectors: string[]) {
|
|
83
86
|
isGetContractMetadataSupported(availableSelectors) &&
|
84
87
|
isSetContractURISupported(availableSelectors) &&
|
85
88
|
// needs to actually be able to set the claim Conditions
|
86
|
-
isSetClaimConditionsSupportedGenerated(availableSelectors)
|
89
|
+
(isSetClaimConditionsSupportedGenerated(availableSelectors) ||
|
90
|
+
isSetClaimConditionsSupportedGeneratedSinglePhase(availableSelectors))
|
87
91
|
);
|
88
92
|
}
|
@@ -0,0 +1,80 @@
|
|
1
|
+
import { fetchDeployMetadata } from "../../utils/any-evm/deploy-metadata.js";
|
2
|
+
|
3
|
+
import { beforeAll, describe, expect, it } from "vitest";
|
4
|
+
import { ANVIL_CHAIN } from "../../../test/src/chains.js";
|
5
|
+
import { TEST_CLIENT } from "../../../test/src/test-clients.js";
|
6
|
+
import { TEST_ACCOUNT_C } from "../../../test/src/test-wallets.js";
|
7
|
+
import { type ThirdwebContract, getContract } from "../../contract/contract.js";
|
8
|
+
import { sendAndConfirmTransaction } from "../../transaction/actions/send-and-confirm-transaction.js";
|
9
|
+
import { toWei } from "../../utils/units.js";
|
10
|
+
import { deployContractfromDeployMetadata } from "../prebuilts/deploy-published.js";
|
11
|
+
import { balanceOf } from "./__generated__/IERC20/read/balanceOf.js";
|
12
|
+
import { claimTo } from "./drops/write/claimTo.js";
|
13
|
+
import { setClaimConditions } from "./drops/write/setClaimConditions.js";
|
14
|
+
|
15
|
+
describe.runIf(process.env.TW_SECRET_KEY)(
|
16
|
+
"CustomDropERC20",
|
17
|
+
{
|
18
|
+
retry: 0,
|
19
|
+
},
|
20
|
+
() => {
|
21
|
+
let contract: ThirdwebContract;
|
22
|
+
|
23
|
+
beforeAll(async () => {
|
24
|
+
const customDropDeployMetadata = await fetchDeployMetadata({
|
25
|
+
client: TEST_CLIENT,
|
26
|
+
uri: "ipfs://QmT6h6gZztc2G83gWkJBkNFeq1b9gKrFKnYwgagXMBHV1d",
|
27
|
+
});
|
28
|
+
const contractAddress = await deployContractfromDeployMetadata({
|
29
|
+
chain: ANVIL_CHAIN,
|
30
|
+
client: TEST_CLIENT,
|
31
|
+
account: TEST_ACCOUNT_C,
|
32
|
+
deployMetadata: customDropDeployMetadata,
|
33
|
+
initializeParams: {
|
34
|
+
defaultAdmin: TEST_ACCOUNT_C.address,
|
35
|
+
name: "TestCustomDropERC20",
|
36
|
+
symbol: "TT",
|
37
|
+
},
|
38
|
+
});
|
39
|
+
|
40
|
+
contract = getContract({
|
41
|
+
address: contractAddress,
|
42
|
+
chain: ANVIL_CHAIN,
|
43
|
+
client: TEST_CLIENT,
|
44
|
+
});
|
45
|
+
// this deploys a contract, it may take some time
|
46
|
+
}, 60_000);
|
47
|
+
|
48
|
+
it("should allow to claim tokens", async () => {
|
49
|
+
await expect(
|
50
|
+
balanceOf({ contract, address: TEST_ACCOUNT_C.address }),
|
51
|
+
).resolves.toBe(0n);
|
52
|
+
await sendAndConfirmTransaction({
|
53
|
+
transaction: setClaimConditions({
|
54
|
+
contract,
|
55
|
+
phases: [
|
56
|
+
{
|
57
|
+
startTime: new Date(0),
|
58
|
+
maxClaimableSupply: toWei("10"),
|
59
|
+
},
|
60
|
+
],
|
61
|
+
singlePhaseDrop: true,
|
62
|
+
}),
|
63
|
+
account: TEST_ACCOUNT_C,
|
64
|
+
});
|
65
|
+
const claimTx = claimTo({
|
66
|
+
contract,
|
67
|
+
to: TEST_ACCOUNT_C.address,
|
68
|
+
quantity: "1",
|
69
|
+
singlePhaseDrop: true,
|
70
|
+
});
|
71
|
+
await sendAndConfirmTransaction({
|
72
|
+
transaction: claimTx,
|
73
|
+
account: TEST_ACCOUNT_C,
|
74
|
+
});
|
75
|
+
await expect(
|
76
|
+
balanceOf({ contract, address: TEST_ACCOUNT_C.address }),
|
77
|
+
).resolves.toBe(toWei("1"));
|
78
|
+
});
|
79
|
+
},
|
80
|
+
);
|
@@ -13,6 +13,7 @@ import { isGetActiveClaimConditionSupported } from "../read/getActiveClaimCondit
|
|
13
13
|
export type ClaimToParams = {
|
14
14
|
to: Address;
|
15
15
|
from?: Address;
|
16
|
+
singlePhaseDrop?: boolean;
|
16
17
|
} & ({ quantityInWei: bigint } | { quantity: string });
|
17
18
|
|
18
19
|
/**
|
@@ -71,6 +72,7 @@ export function claimTo(options: BaseTransactionOptions<ClaimToParams>) {
|
|
71
72
|
quantity,
|
72
73
|
from: options.from,
|
73
74
|
tokenDecimals: await decimals({ contract: options.contract }),
|
75
|
+
singlePhaseDrop: options.singlePhaseDrop,
|
74
76
|
});
|
75
77
|
},
|
76
78
|
});
|
@@ -16,6 +16,7 @@ import { decimals, isDecimalsSupported } from "../../read/decimals.js";
|
|
16
16
|
export type SetClaimConditionsParams = {
|
17
17
|
phases: ClaimConditionsInput[];
|
18
18
|
resetClaimEligibility?: boolean;
|
19
|
+
singlePhaseDrop?: boolean;
|
19
20
|
};
|
20
21
|
|
21
22
|
/**
|
@@ -56,6 +57,7 @@ export function setClaimConditions(
|
|
56
57
|
phases: options.phases,
|
57
58
|
resetClaimEligibility: options.resetClaimEligibility,
|
58
59
|
tokenDecimals: await decimals({ contract: options.contract }),
|
60
|
+
singlePhase: options.singlePhaseDrop,
|
59
61
|
}),
|
60
62
|
};
|
61
63
|
},
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { prepareEvent } from "../../../../../event/prepare-event.js";
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Creates an event object for the ClaimConditionUpdated event.
|
5
|
+
* @returns The prepared event object.
|
6
|
+
* @extension ERC721
|
7
|
+
* @example
|
8
|
+
* ```ts
|
9
|
+
* import { getContractEvents } from "thirdweb";
|
10
|
+
* import { claimConditionUpdatedEvent } from "thirdweb/extensions/erc721";
|
11
|
+
*
|
12
|
+
* const events = await getContractEvents({
|
13
|
+
* contract,
|
14
|
+
* events: [
|
15
|
+
* claimConditionUpdatedEvent()
|
16
|
+
* ],
|
17
|
+
* });
|
18
|
+
* ```
|
19
|
+
*/
|
20
|
+
export function claimConditionUpdatedEvent() {
|
21
|
+
return prepareEvent({
|
22
|
+
signature:
|
23
|
+
"event ClaimConditionUpdated((uint256 startTimestamp, uint256 maxClaimableSupply, uint256 supplyClaimed, uint256 quantityLimitPerWallet, bytes32 merkleRoot, uint256 pricePerToken, address currency, string metadata) condition, bool resetEligibility)",
|
24
|
+
});
|
25
|
+
}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import { prepareEvent } from "../../../../../event/prepare-event.js";
|
2
|
+
import type { AbiParameterToPrimitiveType } from "abitype";
|
3
|
+
|
4
|
+
/**
|
5
|
+
* Represents the filters for the "TokensClaimed" event.
|
6
|
+
*/
|
7
|
+
export type TokensClaimedEventFilters = Partial<{
|
8
|
+
claimer: AbiParameterToPrimitiveType<{
|
9
|
+
type: "address";
|
10
|
+
name: "claimer";
|
11
|
+
indexed: true;
|
12
|
+
}>;
|
13
|
+
receiver: AbiParameterToPrimitiveType<{
|
14
|
+
type: "address";
|
15
|
+
name: "receiver";
|
16
|
+
indexed: true;
|
17
|
+
}>;
|
18
|
+
startTokenId: AbiParameterToPrimitiveType<{
|
19
|
+
type: "uint256";
|
20
|
+
name: "startTokenId";
|
21
|
+
indexed: true;
|
22
|
+
}>;
|
23
|
+
}>;
|
24
|
+
|
25
|
+
/**
|
26
|
+
* Creates an event object for the TokensClaimed event.
|
27
|
+
* @param filters - Optional filters to apply to the event.
|
28
|
+
* @returns The prepared event object.
|
29
|
+
* @extension ERC721
|
30
|
+
* @example
|
31
|
+
* ```ts
|
32
|
+
* import { getContractEvents } from "thirdweb";
|
33
|
+
* import { tokensClaimedEvent } from "thirdweb/extensions/erc721";
|
34
|
+
*
|
35
|
+
* const events = await getContractEvents({
|
36
|
+
* contract,
|
37
|
+
* events: [
|
38
|
+
* tokensClaimedEvent({
|
39
|
+
* claimer: ...,
|
40
|
+
* receiver: ...,
|
41
|
+
* startTokenId: ...,
|
42
|
+
* })
|
43
|
+
* ],
|
44
|
+
* });
|
45
|
+
* ```
|
46
|
+
*/
|
47
|
+
export function tokensClaimedEvent(filters: TokensClaimedEventFilters = {}) {
|
48
|
+
return prepareEvent({
|
49
|
+
signature:
|
50
|
+
"event TokensClaimed(address indexed claimer, address indexed receiver, uint256 indexed startTokenId, uint256 quantityClaimed)",
|
51
|
+
filters,
|
52
|
+
});
|
53
|
+
}
|
@@ -0,0 +1,105 @@
|
|
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: "tuple",
|
13
|
+
name: "condition",
|
14
|
+
components: [
|
15
|
+
{
|
16
|
+
type: "uint256",
|
17
|
+
name: "startTimestamp",
|
18
|
+
},
|
19
|
+
{
|
20
|
+
type: "uint256",
|
21
|
+
name: "maxClaimableSupply",
|
22
|
+
},
|
23
|
+
{
|
24
|
+
type: "uint256",
|
25
|
+
name: "supplyClaimed",
|
26
|
+
},
|
27
|
+
{
|
28
|
+
type: "uint256",
|
29
|
+
name: "quantityLimitPerWallet",
|
30
|
+
},
|
31
|
+
{
|
32
|
+
type: "bytes32",
|
33
|
+
name: "merkleRoot",
|
34
|
+
},
|
35
|
+
{
|
36
|
+
type: "uint256",
|
37
|
+
name: "pricePerToken",
|
38
|
+
},
|
39
|
+
{
|
40
|
+
type: "address",
|
41
|
+
name: "currency",
|
42
|
+
},
|
43
|
+
{
|
44
|
+
type: "string",
|
45
|
+
name: "metadata",
|
46
|
+
},
|
47
|
+
],
|
48
|
+
},
|
49
|
+
] as const;
|
50
|
+
|
51
|
+
/**
|
52
|
+
* Checks if the `claimCondition` method is supported by the given contract.
|
53
|
+
* @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.
|
54
|
+
* @returns A boolean indicating if the `claimCondition` method is supported.
|
55
|
+
* @extension ERC721
|
56
|
+
* @example
|
57
|
+
* ```ts
|
58
|
+
* import { isClaimConditionSupported } from "thirdweb/extensions/erc721";
|
59
|
+
* const supported = isClaimConditionSupported(["0x..."]);
|
60
|
+
* ```
|
61
|
+
*/
|
62
|
+
export function isClaimConditionSupported(availableSelectors: string[]) {
|
63
|
+
return detectMethod({
|
64
|
+
availableSelectors,
|
65
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
66
|
+
});
|
67
|
+
}
|
68
|
+
|
69
|
+
/**
|
70
|
+
* Decodes the result of the claimCondition function call.
|
71
|
+
* @param result - The hexadecimal result to decode.
|
72
|
+
* @returns The decoded result as per the FN_OUTPUTS definition.
|
73
|
+
* @extension ERC721
|
74
|
+
* @example
|
75
|
+
* ```ts
|
76
|
+
* import { decodeClaimConditionResult } from "thirdweb/extensions/erc721";
|
77
|
+
* const result = decodeClaimConditionResultResult("...");
|
78
|
+
* ```
|
79
|
+
*/
|
80
|
+
export function decodeClaimConditionResult(result: Hex) {
|
81
|
+
return decodeAbiParameters(FN_OUTPUTS, result)[0];
|
82
|
+
}
|
83
|
+
|
84
|
+
/**
|
85
|
+
* Calls the "claimCondition" function on the contract.
|
86
|
+
* @param options - The options for the claimCondition function.
|
87
|
+
* @returns The parsed result of the function call.
|
88
|
+
* @extension ERC721
|
89
|
+
* @example
|
90
|
+
* ```ts
|
91
|
+
* import { claimCondition } from "thirdweb/extensions/erc721";
|
92
|
+
*
|
93
|
+
* const result = await claimCondition({
|
94
|
+
* contract,
|
95
|
+
* });
|
96
|
+
*
|
97
|
+
* ```
|
98
|
+
*/
|
99
|
+
export async function claimCondition(options: BaseTransactionOptions) {
|
100
|
+
return readContract({
|
101
|
+
contract: options.contract,
|
102
|
+
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
|
103
|
+
params: [],
|
104
|
+
});
|
105
|
+
}
|