thirdweb 5.50.0 → 5.50.1
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/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/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/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js +8 -4
- package/dist/cjs/react/web/ui/prebuilt/thirdweb/ClaimButton/index.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/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/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/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/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js +8 -4
- package/dist/esm/react/web/ui/prebuilt/thirdweb/ClaimButton/index.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/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/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/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/react/web/ui/prebuilt/thirdweb/ClaimButton/index.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/thirdweb/ClaimButton/types.d.ts +8 -5
- package/dist/types/react/web/ui/prebuilt/thirdweb/ClaimButton/types.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/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/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/react/web/ui/prebuilt/thirdweb/ClaimButton/index.tsx +8 -4
- package/src/react/web/ui/prebuilt/thirdweb/ClaimButton/types.ts +8 -5
- 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/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
@@ -15,25 +15,32 @@ import {
|
|
15
15
|
} from "../fiat/currencies.js";
|
16
16
|
import type { SupportedChainAndTokens } from "../swap/useSwapSupportedChains.js";
|
17
17
|
|
18
|
-
|
18
|
+
type SupportedSourcesInputData = {
|
19
|
+
chain: Chain;
|
20
|
+
tokens: {
|
21
|
+
address: string;
|
22
|
+
buyWithCryptoEnabled: boolean;
|
23
|
+
buyWithFiatEnabled: boolean;
|
24
|
+
name: string;
|
25
|
+
symbol: string;
|
26
|
+
}[];
|
27
|
+
};
|
19
28
|
|
20
|
-
|
29
|
+
// handle states for token and chain selection
|
30
|
+
export function useToTokenSelectionStates(options: {
|
21
31
|
payOptions: PayUIOptions;
|
22
32
|
supportedDestinations: SupportedChainAndTokens;
|
23
33
|
}) {
|
24
|
-
const activeChain = useActiveWalletChain();
|
25
34
|
const { payOptions, supportedDestinations } = options;
|
26
|
-
|
35
|
+
// --------------------------------------------------------------------------
|
27
36
|
// buy token amount ---------------------------------------------------------
|
28
37
|
// NOTE - for transaction / direct payment modes, the token amount is set when the user tap continue
|
29
38
|
const prefillBuy = (payOptions as FundWalletOptions)?.prefillBuy;
|
39
|
+
const activeChain = useActiveWalletChain();
|
30
40
|
const initialTokenAmount = prefillBuy?.amount || "";
|
31
|
-
|
32
41
|
const [tokenAmount, setTokenAmount] = useState<string>(initialTokenAmount);
|
33
42
|
const deferredTokenAmount = useDebouncedValue(tokenAmount, 300);
|
34
43
|
|
35
|
-
// --------------------------------------------------------------------------
|
36
|
-
|
37
44
|
// Destination chain and token selection -----------------------------------
|
38
45
|
const [toChain, setToChain] = useState<Chain>(
|
39
46
|
// use prefill chain if available
|
@@ -52,27 +59,73 @@ export function useUISelectionStates(options: {
|
|
52
59
|
(payOptions.mode === "direct_payment" && payOptions.paymentInfo.token) ||
|
53
60
|
NATIVE_TOKEN,
|
54
61
|
);
|
62
|
+
|
63
|
+
return {
|
64
|
+
toChain,
|
65
|
+
setToChain,
|
66
|
+
toToken,
|
67
|
+
setToToken,
|
68
|
+
tokenAmount,
|
69
|
+
setTokenAmount,
|
70
|
+
deferredTokenAmount,
|
71
|
+
};
|
72
|
+
}
|
73
|
+
|
74
|
+
export function useFromTokenSelectionStates(options: {
|
75
|
+
payOptions: PayUIOptions;
|
76
|
+
supportedSources: SupportedSourcesInputData[];
|
77
|
+
}) {
|
78
|
+
const { payOptions, supportedSources } = options;
|
79
|
+
|
55
80
|
// --------------------------------------------------------------------------
|
81
|
+
const firstSupportedSource = supportedSources?.length
|
82
|
+
? supportedSources[0]
|
83
|
+
: undefined;
|
56
84
|
|
57
85
|
// Source token and chain selection ---------------------------------------------------
|
58
|
-
const [
|
59
|
-
|
86
|
+
const [fromChain_, setFromChain] = useState<Chain>();
|
87
|
+
|
88
|
+
// use prefill chain if available
|
89
|
+
const fromChainDevSpecified =
|
60
90
|
(payOptions.buyWithCrypto !== false &&
|
61
91
|
payOptions.buyWithCrypto?.prefillSource?.chain) ||
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
92
|
+
(payOptions.mode === "transaction" && payOptions.transaction?.chain) ||
|
93
|
+
(payOptions.mode === "direct_payment" && payOptions.paymentInfo?.chain);
|
94
|
+
|
95
|
+
const fromChainFromApi = firstSupportedSource?.chain
|
96
|
+
? firstSupportedSource.chain
|
97
|
+
: undefined;
|
67
98
|
|
68
|
-
const
|
69
|
-
|
99
|
+
const fromChain =
|
100
|
+
fromChain_ || fromChainDevSpecified || fromChainFromApi || polygon;
|
101
|
+
|
102
|
+
const [fromToken_, setFromToken] = useState<ERC20OrNativeToken>();
|
103
|
+
|
104
|
+
// use prefill token if available
|
105
|
+
const fromTokenDevSpecified =
|
70
106
|
(payOptions.buyWithCrypto !== false &&
|
71
107
|
payOptions.buyWithCrypto?.prefillSource?.token) ||
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
108
|
+
(payOptions.mode === "direct_payment" && payOptions.paymentInfo.token);
|
109
|
+
|
110
|
+
// May be updated in the future
|
111
|
+
const fromTokenFromApi = NATIVE_TOKEN;
|
112
|
+
|
113
|
+
// supported tokens query in here
|
114
|
+
const fromToken =
|
115
|
+
fromToken_ || fromTokenDevSpecified || fromTokenFromApi || NATIVE_TOKEN;
|
116
|
+
|
117
|
+
return {
|
118
|
+
fromChain,
|
119
|
+
setFromChain,
|
120
|
+
fromToken,
|
121
|
+
setFromToken,
|
122
|
+
};
|
123
|
+
}
|
124
|
+
|
125
|
+
export function useFiatCurrencySelectionStates(options: {
|
126
|
+
payOptions: PayUIOptions;
|
127
|
+
}) {
|
128
|
+
const { payOptions } = options;
|
76
129
|
|
77
130
|
// --------------------------------------------------------------------------
|
78
131
|
const devSpecifiedDefaultCurrency =
|
@@ -89,20 +142,7 @@ export function useUISelectionStates(options: {
|
|
89
142
|
);
|
90
143
|
|
91
144
|
return {
|
92
|
-
tokenAmount,
|
93
|
-
setTokenAmount,
|
94
|
-
|
95
|
-
toChain,
|
96
|
-
setToChain,
|
97
|
-
deferredTokenAmount,
|
98
|
-
fromChain,
|
99
|
-
setFromChain,
|
100
|
-
toToken,
|
101
|
-
setToToken,
|
102
|
-
fromToken,
|
103
|
-
setFromToken,
|
104
145
|
selectedCurrency,
|
105
|
-
|
106
146
|
setSelectedCurrency,
|
107
147
|
};
|
108
148
|
}
|
@@ -27,7 +27,6 @@ import type { ERC20OrNativeToken } from "../../nativeToken.js";
|
|
27
27
|
import { PayTokenIcon } from "../PayTokenIcon.js";
|
28
28
|
import { Step } from "../Stepper.js";
|
29
29
|
import type { PayerInfo } from "../types.js";
|
30
|
-
import { SwapFees } from "./Fees.js";
|
31
30
|
import { formatSeconds } from "./formatSeconds.js";
|
32
31
|
import { addPendingTx } from "./pendingSwapTx.js";
|
33
32
|
|
@@ -111,7 +110,7 @@ export function SwapConfirmationScreen(props: {
|
|
111
110
|
|
112
111
|
{/* Fees */}
|
113
112
|
<ConfirmItem label="Fees">
|
114
|
-
<
|
113
|
+
<SwapFeesRightAligned quote={props.quote} />
|
115
114
|
</ConfirmItem>
|
116
115
|
|
117
116
|
{/* Time */}
|
@@ -329,3 +328,39 @@ function ConfirmItem(props: {
|
|
329
328
|
</>
|
330
329
|
);
|
331
330
|
}
|
331
|
+
|
332
|
+
/**
|
333
|
+
* @internal
|
334
|
+
*/
|
335
|
+
export function SwapFeesRightAligned(props: {
|
336
|
+
quote: BuyWithCryptoQuote;
|
337
|
+
}) {
|
338
|
+
return (
|
339
|
+
<Container
|
340
|
+
flex="column"
|
341
|
+
gap="xs"
|
342
|
+
style={{
|
343
|
+
alignItems: "flex-end",
|
344
|
+
}}
|
345
|
+
>
|
346
|
+
{props.quote.processingFees.map((fee) => {
|
347
|
+
const feeAmount = formatNumber(Number(fee.amount), 6);
|
348
|
+
return (
|
349
|
+
<Container
|
350
|
+
key={`${fee.token.chainId}_${fee.token.tokenAddress}_${feeAmount}`}
|
351
|
+
flex="row"
|
352
|
+
gap="xxs"
|
353
|
+
>
|
354
|
+
<Text color="primaryText" size="sm">
|
355
|
+
{feeAmount === 0 ? "~" : ""}
|
356
|
+
{feeAmount} {fee.token.symbol}
|
357
|
+
</Text>
|
358
|
+
<Text color="secondaryText" size="sm">
|
359
|
+
(${(fee.amountUSDCents / 100).toFixed(2)})
|
360
|
+
</Text>
|
361
|
+
</Container>
|
362
|
+
);
|
363
|
+
})}
|
364
|
+
</Container>
|
365
|
+
);
|
366
|
+
}
|
@@ -10,14 +10,13 @@ import { Text } from "../../../../components/text.js";
|
|
10
10
|
*/
|
11
11
|
export function SwapFees(props: {
|
12
12
|
quote: BuyWithCryptoQuote;
|
13
|
-
align: "left" | "right";
|
14
13
|
}) {
|
15
14
|
return (
|
16
15
|
<Container
|
17
16
|
flex="column"
|
18
17
|
gap="xs"
|
19
18
|
style={{
|
20
|
-
alignItems:
|
19
|
+
alignItems: "flex-start",
|
21
20
|
}}
|
22
21
|
>
|
23
22
|
{props.quote.processingFees.map((fee) => {
|
@@ -25,19 +24,15 @@ export function SwapFees(props: {
|
|
25
24
|
return (
|
26
25
|
<Container
|
27
26
|
key={`${fee.token.chainId}_${fee.token.tokenAddress}_${feeAmount}`}
|
28
|
-
flex="
|
27
|
+
flex="row"
|
29
28
|
gap="xxs"
|
30
29
|
>
|
31
|
-
<Text color="primaryText" size="sm"
|
30
|
+
<Text color="primaryText" size="sm">
|
32
31
|
{feeAmount === 0 ? "~" : ""}
|
33
32
|
{feeAmount} {fee.token.symbol}
|
34
33
|
</Text>
|
35
|
-
<Text
|
36
|
-
|
37
|
-
size="xs"
|
38
|
-
style={{ textAlign: "right" }}
|
39
|
-
>
|
40
|
-
${(fee.amountUSDCents / 100).toFixed(2)}
|
34
|
+
<Text color="secondaryText" size="sm">
|
35
|
+
(${(fee.amountUSDCents / 100).toFixed(2)})
|
41
36
|
</Text>
|
42
37
|
</Container>
|
43
38
|
);
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { CheckCircledIcon
|
1
|
+
import { CheckCircledIcon } from "@radix-ui/react-icons";
|
2
2
|
import { useState } from "react";
|
3
3
|
import type { Chain } from "../../../../../../../chains/types.js";
|
4
4
|
import type { ThirdwebClient } from "../../../../../../../client/client.js";
|
@@ -59,9 +59,12 @@ export function TransferConfirmationScreen(
|
|
59
59
|
const [step, setStep] = useState<"approve" | "transfer" | "execute">(
|
60
60
|
"transfer",
|
61
61
|
);
|
62
|
-
const [status, setStatus] = useState<
|
63
|
-
"idle"
|
64
|
-
|
62
|
+
const [status, setStatus] = useState<
|
63
|
+
| { id: "idle" }
|
64
|
+
| { id: "pending" }
|
65
|
+
| { id: "error"; error: string }
|
66
|
+
| { id: "done" }
|
67
|
+
>({ id: "idle" });
|
65
68
|
const { symbol } = useChainSymbol(chain);
|
66
69
|
|
67
70
|
return (
|
@@ -156,19 +159,20 @@ export function TransferConfirmationScreen(
|
|
156
159
|
</>
|
157
160
|
)}
|
158
161
|
|
159
|
-
{status === "error" && (
|
162
|
+
{status.id === "error" && (
|
160
163
|
<>
|
161
164
|
<Container flex="row" gap="xs" center="both" color="danger">
|
162
|
-
<
|
163
|
-
|
164
|
-
|
165
|
+
<Text color="danger" size="sm" style={{ textAlign: "center" }}>
|
166
|
+
{step === "transfer"
|
167
|
+
? `${status.error || "Failed to Transfer"}`
|
168
|
+
: "Failed to Execute"}
|
165
169
|
</Text>
|
166
170
|
</Container>
|
167
171
|
<Spacer y="md" />
|
168
172
|
</>
|
169
173
|
)}
|
170
174
|
|
171
|
-
{!transactionMode && step === "execute" && status === "done" && (
|
175
|
+
{!transactionMode && step === "execute" && status.id === "done" && (
|
172
176
|
<>
|
173
177
|
<Container flex="row" gap="xs" center="both" color="success">
|
174
178
|
<CheckCircledIcon width={iconSize.sm} height={iconSize.sm} />
|
@@ -193,7 +197,7 @@ export function TransferConfirmationScreen(
|
|
193
197
|
<Button
|
194
198
|
variant="accent"
|
195
199
|
fullWidth
|
196
|
-
disabled={status === "pending"}
|
200
|
+
disabled={status.id === "pending"}
|
197
201
|
onClick={async () => {
|
198
202
|
if (step === "execute") {
|
199
203
|
onDone();
|
@@ -201,7 +205,7 @@ export function TransferConfirmationScreen(
|
|
201
205
|
}
|
202
206
|
|
203
207
|
try {
|
204
|
-
setStatus("pending");
|
208
|
+
setStatus({ id: "pending" });
|
205
209
|
|
206
210
|
// TRANSACTION MODE = transfer funds to another one of your wallets before executing the tx
|
207
211
|
if (transactionMode) {
|
@@ -227,7 +231,7 @@ export function TransferConfirmationScreen(
|
|
227
231
|
});
|
228
232
|
// switch to execute step
|
229
233
|
setStep("execute");
|
230
|
-
setStatus("idle");
|
234
|
+
setStatus({ id: "idle" });
|
231
235
|
} else {
|
232
236
|
const transferResponse = await getBuyWithCryptoTransfer({
|
233
237
|
client,
|
@@ -241,7 +245,6 @@ export function TransferConfirmationScreen(
|
|
241
245
|
purchaseData: undefined, // TODO (pay): add purchase data
|
242
246
|
});
|
243
247
|
|
244
|
-
console.log("transferResponse", transferResponse);
|
245
248
|
if (transferResponse.approval) {
|
246
249
|
setStep("approve");
|
247
250
|
// approve the transfer
|
@@ -260,21 +263,25 @@ export function TransferConfirmationScreen(
|
|
260
263
|
});
|
261
264
|
// switches to the status polling screen
|
262
265
|
setTransactionHash(tx.transactionHash);
|
263
|
-
setStatus("idle");
|
266
|
+
setStatus({ id: "idle" });
|
264
267
|
}
|
265
|
-
|
268
|
+
// biome-ignore lint/suspicious/noExplicitAny: catch multiple errors
|
269
|
+
} catch (e: any) {
|
266
270
|
console.error(e);
|
267
|
-
setStatus(
|
271
|
+
setStatus({
|
272
|
+
id: "error",
|
273
|
+
error: "error" in e ? e.error?.message : e?.message,
|
274
|
+
});
|
268
275
|
}
|
269
276
|
}}
|
270
277
|
gap="xs"
|
271
278
|
>
|
272
|
-
{step === "execute" && (status === "done" ? "Done" : "Continue")}
|
279
|
+
{step === "execute" && (status.id === "done" ? "Done" : "Continue")}
|
273
280
|
{step === "transfer" &&
|
274
|
-
(status === "pending" ? "Confirming" : "Confirm")}
|
281
|
+
(status.id === "pending" ? "Confirming" : "Confirm")}
|
275
282
|
{step === "approve" &&
|
276
|
-
(status === "pending" ? "Approving" : "Approve")}
|
277
|
-
{status === "pending" && (
|
283
|
+
(status.id === "pending" ? "Approving" : "Approve")}
|
284
|
+
{status.id === "pending" && (
|
278
285
|
<Spinner size="sm" color="accentButtonText" />
|
279
286
|
)}
|
280
287
|
</Button>
|
@@ -232,8 +232,9 @@ export async function getERC721ClaimTo({
|
|
232
232
|
|
233
233
|
return claimTo({
|
234
234
|
contract,
|
235
|
-
to: account?.address || "",
|
235
|
+
to: claimParams.to || account?.address || "",
|
236
236
|
quantity: claimParams.quantity,
|
237
|
+
from: claimParams.from,
|
237
238
|
});
|
238
239
|
}
|
239
240
|
|
@@ -255,9 +256,10 @@ export async function getERC1155ClaimTo({
|
|
255
256
|
|
256
257
|
return claimTo({
|
257
258
|
contract,
|
258
|
-
to: account?.address || "",
|
259
|
+
to: claimParams.to || account?.address || "",
|
259
260
|
quantity: claimParams.quantity,
|
260
261
|
tokenId: claimParams.tokenId,
|
262
|
+
from: claimParams.from,
|
261
263
|
});
|
262
264
|
}
|
263
265
|
|
@@ -282,15 +284,17 @@ export async function getERC20ClaimTo({
|
|
282
284
|
if ("quantity" in claimParams) {
|
283
285
|
return claimTo({
|
284
286
|
contract,
|
285
|
-
to: account?.address || "",
|
287
|
+
to: claimParams.to || account?.address || "",
|
286
288
|
quantity: claimParams.quantity,
|
289
|
+
from: claimParams.from,
|
287
290
|
});
|
288
291
|
}
|
289
292
|
if ("quantityInWei" in claimParams) {
|
290
293
|
return claimTo({
|
291
294
|
contract,
|
292
|
-
to: account?.address || "",
|
295
|
+
to: claimParams.to || account?.address || "",
|
293
296
|
quantityInWei: claimParams.quantityInWei,
|
297
|
+
from: claimParams.from,
|
294
298
|
});
|
295
299
|
}
|
296
300
|
throw new Error("Missing quantity or quantityInWei");
|
@@ -1,20 +1,23 @@
|
|
1
1
|
import type { Chain } from "../../../../../../chains/types.js";
|
2
2
|
import type { ThirdwebClient } from "../../../../../../client/client.js";
|
3
|
+
import type { ClaimToParams as ClaimToParams721 } from "../../../../../../extensions/erc721/drops/write/claimTo.js";
|
4
|
+
import type { ClaimToParams as ClaimToParams1155 } from "../../../../../../extensions/erc1155/drops/write/claimTo.js";
|
3
5
|
import type { TransactionButtonProps } from "../../../../../core/hooks/transaction/transaction-button-utils.js";
|
4
6
|
|
5
|
-
export type Erc721ClaimParams = {
|
7
|
+
export type Erc721ClaimParams = Omit<ClaimToParams721, "to"> & {
|
6
8
|
type: "ERC721";
|
7
|
-
|
9
|
+
to?: string;
|
8
10
|
};
|
9
11
|
|
10
|
-
export type Erc1155ClaimParams = {
|
12
|
+
export type Erc1155ClaimParams = Omit<ClaimToParams1155, "to"> & {
|
11
13
|
type: "ERC1155";
|
12
|
-
|
13
|
-
tokenId: bigint;
|
14
|
+
to?: string;
|
14
15
|
};
|
15
16
|
|
16
17
|
export type Erc20ClaimParams = {
|
17
18
|
type: "ERC20";
|
19
|
+
to?: string;
|
20
|
+
from?: string;
|
18
21
|
} & ({ quantityInWei: bigint } | { quantity: string });
|
19
22
|
|
20
23
|
export type ClaimParams =
|
@@ -0,0 +1,83 @@
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
2
|
+
import { ConnectButton } from "../../react/web/ui/ConnectWallet/ConnectButton.js";
|
3
|
+
import { storyClient } from "../utils.js";
|
4
|
+
|
5
|
+
const meta = {
|
6
|
+
title: "Connect/ConnectButton/hide buttons",
|
7
|
+
component: ConnectButton,
|
8
|
+
parameters: {
|
9
|
+
layout: "centered",
|
10
|
+
},
|
11
|
+
args: {
|
12
|
+
client: storyClient,
|
13
|
+
},
|
14
|
+
} satisfies Meta<typeof ConnectButton>;
|
15
|
+
|
16
|
+
type Story = StoryObj<typeof meta>;
|
17
|
+
|
18
|
+
export const Default: Story = {
|
19
|
+
args: {},
|
20
|
+
};
|
21
|
+
|
22
|
+
export const HideSend: Story = {
|
23
|
+
args: {
|
24
|
+
detailsModal: {
|
25
|
+
hideSendFunds: true,
|
26
|
+
},
|
27
|
+
},
|
28
|
+
};
|
29
|
+
|
30
|
+
export const HideReceive: Story = {
|
31
|
+
args: {
|
32
|
+
detailsModal: {
|
33
|
+
hideReceiveFunds: true,
|
34
|
+
},
|
35
|
+
},
|
36
|
+
};
|
37
|
+
|
38
|
+
export const HideBuy: Story = {
|
39
|
+
args: {
|
40
|
+
detailsModal: {
|
41
|
+
hideBuyFunds: true,
|
42
|
+
},
|
43
|
+
},
|
44
|
+
};
|
45
|
+
|
46
|
+
export const HideSendReceive: Story = {
|
47
|
+
args: {
|
48
|
+
detailsModal: {
|
49
|
+
hideSendFunds: true,
|
50
|
+
hideReceiveFunds: true,
|
51
|
+
},
|
52
|
+
},
|
53
|
+
};
|
54
|
+
|
55
|
+
export const HideSendBuy: Story = {
|
56
|
+
args: {
|
57
|
+
detailsModal: {
|
58
|
+
hideSendFunds: true,
|
59
|
+
hideBuyFunds: true,
|
60
|
+
},
|
61
|
+
},
|
62
|
+
};
|
63
|
+
|
64
|
+
export const HideReceiveBuy: Story = {
|
65
|
+
args: {
|
66
|
+
detailsModal: {
|
67
|
+
hideReceiveFunds: true,
|
68
|
+
hideBuyFunds: true,
|
69
|
+
},
|
70
|
+
},
|
71
|
+
};
|
72
|
+
|
73
|
+
export const HideSendReceiveBuy: Story = {
|
74
|
+
args: {
|
75
|
+
detailsModal: {
|
76
|
+
hideSendFunds: true,
|
77
|
+
hideReceiveFunds: true,
|
78
|
+
hideBuyFunds: true,
|
79
|
+
},
|
80
|
+
},
|
81
|
+
};
|
82
|
+
|
83
|
+
export default meta;
|
@@ -1,14 +1,13 @@
|
|
1
1
|
import type { Meta, StoryObj } from "@storybook/react";
|
2
|
-
import { ConnectButton } from "
|
3
|
-
import { storyClient } from "
|
2
|
+
import { ConnectButton } from "../../react/web/ui/ConnectWallet/ConnectButton.js";
|
3
|
+
import { storyClient } from "../utils.js";
|
4
4
|
|
5
5
|
const meta = {
|
6
|
-
title: "Connect/ConnectButton",
|
6
|
+
title: "Connect/ConnectButton/themes",
|
7
7
|
component: ConnectButton,
|
8
8
|
parameters: {
|
9
9
|
layout: "centered",
|
10
10
|
},
|
11
|
-
tags: ["autodocs"],
|
12
11
|
args: {
|
13
12
|
client: storyClient,
|
14
13
|
},
|
@@ -144,6 +144,17 @@ export async function sendTransaction(
|
|
144
144
|
await account.onTransactionRequested(transaction);
|
145
145
|
}
|
146
146
|
|
147
|
+
// if zksync transaction params are set, send with eip712
|
148
|
+
if (options.transaction.eip712) {
|
149
|
+
const { sendEip712Transaction } = await import(
|
150
|
+
"./zksync/send-eip712-transaction.js"
|
151
|
+
);
|
152
|
+
return sendEip712Transaction({
|
153
|
+
account,
|
154
|
+
transaction,
|
155
|
+
});
|
156
|
+
}
|
157
|
+
|
147
158
|
const serializableTransaction = await toSerializableTransaction({
|
148
159
|
transaction: transaction,
|
149
160
|
from: account.address,
|
@@ -3,9 +3,7 @@ import { beforeAll, describe, expect, test } from "vitest";
|
|
3
3
|
import { TEST_WALLET_B } from "../../../test/src/addresses.js";
|
4
4
|
import { FORKED_ETHEREUM_CHAIN } from "../../../test/src/chains.js";
|
5
5
|
import { TEST_CLIENT } from "../../../test/src/test-clients.js";
|
6
|
-
|
7
6
|
import { arbitrumSepolia } from "../../chains/chain-definitions/arbitrum-sepolia.js";
|
8
|
-
import { ZERO_ADDRESS } from "../../constants/addresses.js";
|
9
7
|
import { toWei } from "../../utils/units.js";
|
10
8
|
import {
|
11
9
|
type PreparedTransaction,
|
@@ -403,15 +401,16 @@ describe.runIf(process.env.TW_SECRET_KEY)("toSerializableTransaction", () => {
|
|
403
401
|
});
|
404
402
|
});
|
405
403
|
|
404
|
+
// skipping this test for now, it fails when batching eth_estimateGas with eth_maxFeePerGas together on arbitrumSepolia
|
405
|
+
// works if you run it individually, but when run in parallel the batching kicks in and it fails
|
406
406
|
test("should respect 0 maxPriorityFeePerGas chains", async () => {
|
407
407
|
const serializableTransaction = await toSerializableTransaction({
|
408
408
|
transaction: prepareTransaction({
|
409
409
|
to: TEST_WALLET_B,
|
410
410
|
chain: arbitrumSepolia,
|
411
|
-
value:
|
411
|
+
value: 0n,
|
412
412
|
client: TEST_CLIENT,
|
413
413
|
}),
|
414
|
-
from: ZERO_ADDRESS,
|
415
414
|
});
|
416
415
|
|
417
416
|
// gasPrice should be undefined for arbSepolia which has 0 maxPriorityFeePerGas
|
@@ -1,5 +1,7 @@
|
|
1
1
|
import type { TransactionSerializable } from "viem";
|
2
|
+
import { hashBytecode } from "viem/zksync";
|
2
3
|
import type { Address } from "../../../utils/address.js";
|
4
|
+
import { toHex } from "../../../utils/encoding/hex.js";
|
3
5
|
import type {
|
4
6
|
EIP712SerializedTransaction,
|
5
7
|
EIP712TransactionOptions,
|
@@ -56,6 +58,7 @@ function transactionToMessage(
|
|
56
58
|
paymasterInput,
|
57
59
|
gasPerPubdata,
|
58
60
|
data,
|
61
|
+
factoryDeps,
|
59
62
|
} = transaction;
|
60
63
|
|
61
64
|
return {
|
@@ -70,8 +73,7 @@ function transactionToMessage(
|
|
70
73
|
nonce: nonce ? BigInt(nonce) : 0n,
|
71
74
|
value: value ?? 0n,
|
72
75
|
data: data ? data : "0x0",
|
73
|
-
|
74
|
-
factoryDeps: [],
|
76
|
+
factoryDeps: factoryDeps?.map((dep) => toHex(hashBytecode(dep))) ?? [],
|
75
77
|
paymasterInput: paymasterInput ? paymasterInput : "0x",
|
76
78
|
};
|
77
79
|
}
|
@@ -4,7 +4,8 @@ import {
|
|
4
4
|
TEST_ACCOUNT_A,
|
5
5
|
TEST_ACCOUNT_B,
|
6
6
|
} from "../../../../test/src/test-wallets.js";
|
7
|
-
import {
|
7
|
+
import { zkSyncSepolia } from "../../../chains/chain-definitions/zksync-sepolia.js";
|
8
|
+
import { deployPublishedContract } from "../../../extensions/prebuilts/deploy-published.js";
|
8
9
|
import { prepareTransaction } from "../../prepare-transaction.js";
|
9
10
|
import { sendEip712Transaction } from "./send-eip712-transaction.js";
|
10
11
|
|
@@ -12,7 +13,7 @@ describe("sendEip712Transaction", () => {
|
|
12
13
|
// re-enable for testing, but disable for CI since it requires testnet funds
|
13
14
|
it.skip("should send eip712 transaction", async () => {
|
14
15
|
const transaction = prepareTransaction({
|
15
|
-
chain:
|
16
|
+
chain: zkSyncSepolia, // TODO make zksync fork chain work
|
16
17
|
client: TEST_CLIENT,
|
17
18
|
value: 0n,
|
18
19
|
to: TEST_ACCOUNT_B.address,
|
@@ -28,4 +29,28 @@ describe("sendEip712Transaction", () => {
|
|
28
29
|
});
|
29
30
|
expect(res.transactionHash.length).toBe(66);
|
30
31
|
});
|
32
|
+
|
33
|
+
it.skip("should deploy a published autofactory contract on zksync", async () => {
|
34
|
+
const address = await deployPublishedContract({
|
35
|
+
client: TEST_CLIENT,
|
36
|
+
chain: zkSyncSepolia, // TODO make zksync fork chain work
|
37
|
+
account: TEST_ACCOUNT_A,
|
38
|
+
contractId: "DropERC1155",
|
39
|
+
contractParams: [
|
40
|
+
TEST_ACCOUNT_A.address, // defaultAdmin
|
41
|
+
"test", // name
|
42
|
+
"", // symbol
|
43
|
+
"", // contractURI
|
44
|
+
[], // trustedForwarders
|
45
|
+
TEST_ACCOUNT_A.address, // saleRecipient
|
46
|
+
TEST_ACCOUNT_A.address, // royaltyRecipient
|
47
|
+
0n, // royaltyBps
|
48
|
+
0n, // platformFeeBps
|
49
|
+
TEST_ACCOUNT_A.address, // platformFeeRecipient
|
50
|
+
],
|
51
|
+
});
|
52
|
+
console.log("deployed address", address);
|
53
|
+
expect(address).toBeDefined();
|
54
|
+
expect(address.length).toBe(42);
|
55
|
+
});
|
31
56
|
});
|