thirdweb 5.83.2-nightly-332536bdee05b6fb3b36d33761381826279b48f6-20250113000321 → 5.84.0
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/ai/chat.js +29 -0
- package/dist/cjs/ai/chat.js.map +1 -0
- package/dist/cjs/ai/common.js +69 -0
- package/dist/cjs/ai/common.js.map +1 -0
- package/dist/cjs/ai/execute.js +43 -0
- package/dist/cjs/ai/execute.js.map +1 -0
- package/dist/cjs/ai/index.js +8 -0
- package/dist/cjs/ai/index.js.map +1 -0
- package/dist/cjs/auth/is-erc6492-signature.js +2 -2
- package/dist/cjs/auth/is-erc6492-signature.js.map +1 -1
- package/dist/cjs/auth/parse-erc6492-signature.js +10 -4
- package/dist/cjs/auth/parse-erc6492-signature.js.map +1 -1
- package/dist/cjs/auth/verify-hash.js +12 -11
- package/dist/cjs/auth/verify-hash.js.map +1 -1
- package/dist/cjs/auth/verify-signature.js +13 -5
- package/dist/cjs/auth/verify-signature.js.map +1 -1
- package/dist/cjs/auth/verify-typed-data.js +2 -2
- package/dist/cjs/auth/verify-typed-data.js.map +1 -1
- package/dist/cjs/contract/deployment/utils/create-2-factory.js +4 -3
- package/dist/cjs/contract/deployment/utils/create-2-factory.js.map +1 -1
- package/dist/cjs/contract/verification/constructor-params.js +5 -12
- package/dist/cjs/contract/verification/constructor-params.js.map +1 -1
- package/dist/cjs/exports/ai.js +5 -0
- package/dist/cjs/exports/ai.js.map +1 -0
- package/dist/cjs/exports/utils.js +9 -6
- package/dist/cjs/exports/utils.js.map +1 -1
- package/dist/cjs/exports/wallets/engine.js +6 -0
- package/dist/cjs/exports/wallets/engine.js.map +1 -0
- package/dist/cjs/exports/wallets.js +3 -1
- package/dist/cjs/exports/wallets.js.map +1 -1
- package/dist/cjs/extensions/ens/resolve-l2-name.js +10 -3
- package/dist/cjs/extensions/ens/resolve-l2-name.js.map +1 -1
- package/dist/cjs/extensions/erc1155/read/getNFTs.js +2 -2
- package/dist/cjs/extensions/erc1155/read/getNFTs.js.map +1 -1
- package/dist/cjs/extensions/erc1155/write/mintTo.js +2 -2
- package/dist/cjs/extensions/erc1155/write/mintTo.js.map +1 -1
- package/dist/cjs/extensions/erc1155/write/mintToBatch.js +2 -2
- package/dist/cjs/extensions/erc1155/write/mintToBatch.js.map +1 -1
- package/dist/cjs/extensions/erc1155/write/sigMint.js +2 -2
- package/dist/cjs/extensions/erc1155/write/sigMint.js.map +1 -1
- package/dist/cjs/extensions/modules/ClaimableERC1155/setClaimConditions.js +3 -2
- package/dist/cjs/extensions/modules/ClaimableERC1155/setClaimConditions.js.map +1 -1
- package/dist/cjs/extensions/modules/MintableERC1155/mintWithRole.js +2 -2
- package/dist/cjs/extensions/modules/MintableERC1155/mintWithRole.js.map +1 -1
- package/dist/cjs/extensions/modules/MintableERC1155/mintWithSignature.js +2 -2
- package/dist/cjs/extensions/modules/MintableERC1155/mintWithSignature.js.map +1 -1
- package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js +10 -131
- package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/cjs/react/core/hooks/wallets/useSendToken.js +2 -1
- package/dist/cjs/react/core/hooks/wallets/useSendToken.js.map +1 -1
- package/dist/cjs/react/native/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/cjs/react/web/hooks/wallets/useAutoConnect.js +1 -1
- package/dist/cjs/react/web/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +3 -1
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +2 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/useConnectModal.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/useConnectModal.js.map +1 -1
- package/dist/cjs/react/web/wallets/in-app/WalletAuth.js +1 -1
- package/dist/cjs/react/web/wallets/in-app/WalletAuth.js.map +1 -1
- package/dist/cjs/utils/abi/encodeAbiParameters.js +10 -11
- package/dist/cjs/utils/abi/encodeAbiParameters.js.map +1 -1
- package/dist/cjs/utils/ens/isValidENSName.js +50 -0
- package/dist/cjs/utils/ens/isValidENSName.js.map +1 -0
- package/dist/cjs/utils/extensions/drops/convert-quantity.js +2 -2
- package/dist/cjs/utils/extensions/drops/convert-quantity.js.map +1 -1
- package/dist/cjs/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.js +3 -3
- package/dist/cjs/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.js.map +1 -1
- package/dist/cjs/utils/timeoutPromise.js.map +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/wallets/connection/autoConnect.js +54 -0
- package/dist/cjs/wallets/connection/autoConnect.js.map +1 -0
- package/dist/cjs/wallets/connection/autoConnectCore.js +135 -0
- package/dist/cjs/wallets/connection/autoConnectCore.js.map +1 -0
- package/dist/cjs/wallets/connection/types.js.map +1 -0
- package/dist/cjs/{react/web/wallets → wallets}/defaultWallets.js +2 -2
- package/dist/cjs/wallets/defaultWallets.js.map +1 -0
- package/dist/cjs/wallets/engine/index.js +143 -0
- package/dist/cjs/wallets/engine/index.js.map +1 -0
- package/dist/cjs/wallets/in-app/web/lib/get-url-token.js +1 -1
- package/dist/cjs/wallets/in-app/web/lib/get-url-token.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/signing.js +1 -1
- package/dist/esm/ai/chat.js +26 -0
- package/dist/esm/ai/chat.js.map +1 -0
- package/dist/esm/ai/common.js +66 -0
- package/dist/esm/ai/common.js.map +1 -0
- package/dist/esm/ai/execute.js +40 -0
- package/dist/esm/ai/execute.js.map +1 -0
- package/dist/esm/ai/index.js +3 -0
- package/dist/esm/ai/index.js.map +1 -0
- package/dist/esm/auth/is-erc6492-signature.js +2 -2
- package/dist/esm/auth/is-erc6492-signature.js.map +1 -1
- package/dist/esm/auth/parse-erc6492-signature.js +10 -4
- package/dist/esm/auth/parse-erc6492-signature.js.map +1 -1
- package/dist/esm/auth/verify-hash.js +12 -11
- package/dist/esm/auth/verify-hash.js.map +1 -1
- package/dist/esm/auth/verify-signature.js +13 -5
- package/dist/esm/auth/verify-signature.js.map +1 -1
- package/dist/esm/auth/verify-typed-data.js +2 -2
- package/dist/esm/auth/verify-typed-data.js.map +1 -1
- package/dist/esm/contract/deployment/utils/create-2-factory.js +4 -3
- package/dist/esm/contract/deployment/utils/create-2-factory.js.map +1 -1
- package/dist/esm/contract/verification/constructor-params.js +5 -12
- package/dist/esm/contract/verification/constructor-params.js.map +1 -1
- package/dist/esm/exports/ai.js +2 -0
- package/dist/esm/exports/ai.js.map +1 -0
- package/dist/esm/exports/utils.js +3 -1
- package/dist/esm/exports/utils.js.map +1 -1
- package/dist/esm/exports/wallets/engine.js +2 -0
- package/dist/esm/exports/wallets/engine.js.map +1 -0
- package/dist/esm/exports/wallets.js +1 -0
- package/dist/esm/exports/wallets.js.map +1 -1
- package/dist/esm/extensions/ens/resolve-l2-name.js +11 -4
- package/dist/esm/extensions/ens/resolve-l2-name.js.map +1 -1
- package/dist/esm/extensions/erc1155/read/getNFTs.js +1 -1
- package/dist/esm/extensions/erc1155/read/getNFTs.js.map +1 -1
- package/dist/esm/extensions/erc1155/write/mintTo.js +1 -1
- package/dist/esm/extensions/erc1155/write/mintTo.js.map +1 -1
- package/dist/esm/extensions/erc1155/write/mintToBatch.js +1 -1
- package/dist/esm/extensions/erc1155/write/mintToBatch.js.map +1 -1
- package/dist/esm/extensions/erc1155/write/sigMint.js +1 -1
- package/dist/esm/extensions/erc1155/write/sigMint.js.map +1 -1
- package/dist/esm/extensions/modules/ClaimableERC1155/setClaimConditions.js +2 -1
- package/dist/esm/extensions/modules/ClaimableERC1155/setClaimConditions.js.map +1 -1
- package/dist/esm/extensions/modules/MintableERC1155/mintWithRole.js +1 -1
- package/dist/esm/extensions/modules/MintableERC1155/mintWithRole.js.map +1 -1
- package/dist/esm/extensions/modules/MintableERC1155/mintWithSignature.js +1 -1
- package/dist/esm/extensions/modules/MintableERC1155/mintWithSignature.js.map +1 -1
- package/dist/esm/react/core/hooks/wallets/useAutoConnect.js +10 -130
- package/dist/esm/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/esm/react/core/hooks/wallets/useSendToken.js +2 -1
- package/dist/esm/react/core/hooks/wallets/useSendToken.js.map +1 -1
- package/dist/esm/react/native/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/esm/react/web/hooks/wallets/useAutoConnect.js +1 -1
- package/dist/esm/react/web/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +3 -1
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +2 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/useConnectModal.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/useConnectModal.js.map +1 -1
- package/dist/esm/react/web/wallets/in-app/WalletAuth.js +1 -1
- package/dist/esm/react/web/wallets/in-app/WalletAuth.js.map +1 -1
- package/dist/esm/utils/abi/encodeAbiParameters.js +10 -11
- package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
- package/dist/esm/utils/ens/isValidENSName.js +47 -0
- package/dist/esm/utils/ens/isValidENSName.js.map +1 -0
- package/dist/esm/utils/extensions/drops/convert-quantity.js +1 -1
- package/dist/esm/utils/extensions/drops/convert-quantity.js.map +1 -1
- package/dist/esm/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.js +1 -1
- package/dist/esm/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.js.map +1 -1
- package/dist/esm/utils/timeoutPromise.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/wallets/connection/autoConnect.js +50 -0
- package/dist/esm/wallets/connection/autoConnect.js.map +1 -0
- package/dist/esm/wallets/connection/autoConnectCore.js +130 -0
- package/dist/esm/wallets/connection/autoConnectCore.js.map +1 -0
- package/dist/esm/wallets/connection/types.js.map +1 -0
- package/dist/esm/{react/web/wallets → wallets}/defaultWallets.js +2 -2
- package/dist/esm/wallets/defaultWallets.js.map +1 -0
- package/dist/esm/wallets/engine/index.js +140 -0
- package/dist/esm/wallets/engine/index.js.map +1 -0
- package/dist/esm/wallets/in-app/web/lib/get-url-token.js +1 -1
- package/dist/esm/wallets/in-app/web/lib/get-url-token.js.map +1 -1
- package/dist/esm/wallets/smart/lib/signing.js +1 -1
- package/dist/types/ai/chat.d.ts +24 -0
- package/dist/types/ai/chat.d.ts.map +1 -0
- package/dist/types/ai/common.d.ts +22 -0
- package/dist/types/ai/common.d.ts.map +1 -0
- package/dist/types/ai/execute.d.ts +29 -0
- package/dist/types/ai/execute.d.ts.map +1 -0
- package/dist/types/ai/index.d.ts +4 -0
- package/dist/types/ai/index.d.ts.map +1 -0
- package/dist/types/auth/parse-erc6492-signature.d.ts.map +1 -1
- package/dist/types/auth/verify-hash.d.ts +2 -2
- package/dist/types/auth/verify-hash.d.ts.map +1 -1
- package/dist/types/auth/verify-signature.d.ts +6 -3
- package/dist/types/auth/verify-signature.d.ts.map +1 -1
- package/dist/types/auth/verify-typed-data.d.ts +5 -4
- package/dist/types/auth/verify-typed-data.d.ts.map +1 -1
- package/dist/types/contract/deployment/utils/create-2-factory.d.ts.map +1 -1
- package/dist/types/contract/verification/constructor-params.d.ts +2 -2
- package/dist/types/contract/verification/constructor-params.d.ts.map +1 -1
- package/dist/types/event/types.d.ts +3 -2
- package/dist/types/event/types.d.ts.map +1 -1
- package/dist/types/exports/ai.d.ts +2 -0
- package/dist/types/exports/ai.d.ts.map +1 -0
- package/dist/types/exports/react.d.ts +1 -1
- package/dist/types/exports/react.d.ts.map +1 -1
- package/dist/types/exports/react.native.d.ts +1 -1
- package/dist/types/exports/react.native.d.ts.map +1 -1
- package/dist/types/exports/utils.d.ts +2 -1
- package/dist/types/exports/utils.d.ts.map +1 -1
- package/dist/types/exports/wallets/engine.d.ts +2 -0
- package/dist/types/exports/wallets/engine.d.ts.map +1 -0
- package/dist/types/exports/wallets.d.ts +2 -0
- package/dist/types/exports/wallets.d.ts.map +1 -1
- package/dist/types/extensions/ens/resolve-l2-name.d.ts.map +1 -1
- package/dist/types/extensions/erc1155/write/mintTo.d.ts +1 -1
- package/dist/types/extensions/erc1155/write/mintTo.d.ts.map +1 -1
- package/dist/types/extensions/erc1155/write/mintToBatch.d.ts +1 -1
- package/dist/types/extensions/erc1155/write/mintToBatch.d.ts.map +1 -1
- package/dist/types/extensions/modules/ClaimableERC1155/setClaimConditions.d.ts.map +1 -1
- package/dist/types/extensions/modules/MintableERC1155/mintWithRole.d.ts +1 -1
- package/dist/types/extensions/modules/MintableERC1155/mintWithRole.d.ts.map +1 -1
- package/dist/types/extensions/modules/MintableERC1155/mintWithSignature.d.ts +1 -1
- package/dist/types/extensions/modules/MintableERC1155/mintWithSignature.d.ts.map +1 -1
- package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts +1 -13
- package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts.map +1 -1
- package/dist/types/react/core/hooks/wallets/useSendToken.d.ts.map +1 -1
- package/dist/types/react/native/hooks/wallets/useAutoConnect.d.ts +1 -1
- package/dist/types/react/native/hooks/wallets/useAutoConnect.d.ts.map +1 -1
- package/dist/types/react/native/ui/AutoConnect/AutoConnect.d.ts +1 -1
- package/dist/types/react/web/hooks/wallets/useAutoConnect.d.ts +1 -1
- package/dist/types/react/web/hooks/wallets/useAutoConnect.d.ts.map +1 -1
- package/dist/types/react/web/ui/AutoConnect/AutoConnect.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts +2 -0
- package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts +1 -0
- package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/useConnectModal.d.ts.map +1 -1
- package/dist/types/react/web/wallets/in-app/WalletAuth.d.ts.map +1 -1
- package/dist/types/utils/ens/isValidENSName.d.ts +14 -0
- package/dist/types/utils/ens/isValidENSName.d.ts.map +1 -0
- package/dist/types/utils/timeoutPromise.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/dist/types/wallets/connection/autoConnect.d.ts +27 -0
- package/dist/types/wallets/connection/autoConnect.d.ts.map +1 -0
- package/dist/types/wallets/connection/autoConnectCore.d.ts +32 -0
- package/dist/types/wallets/connection/autoConnectCore.d.ts.map +1 -0
- package/dist/types/{react/core/hooks → wallets}/connection/types.d.ts +5 -5
- package/dist/types/wallets/connection/types.d.ts.map +1 -0
- package/dist/types/wallets/defaultWallets.d.ts +11 -0
- package/dist/types/wallets/defaultWallets.d.ts.map +1 -0
- package/dist/types/wallets/engine/index.d.ts +54 -0
- package/dist/types/wallets/engine/index.d.ts.map +1 -0
- package/dist/types/wallets/smart/lib/signing.d.ts +1 -1
- package/package.json +9 -1
- package/src/ai/chat.test.ts +31 -0
- package/src/ai/chat.ts +26 -0
- package/src/ai/common.ts +114 -0
- package/src/ai/execute.test.ts +43 -0
- package/src/ai/execute.ts +44 -0
- package/src/ai/index.ts +3 -0
- package/src/auth/is-erc6492-signature.ts +2 -2
- package/src/auth/parse-erc6492-signature.ts +10 -4
- package/src/auth/verify-hash.ts +16 -20
- package/src/auth/verify-signature.test.ts +48 -2
- package/src/auth/verify-signature.ts +24 -7
- package/src/auth/verify-typed-data.ts +9 -7
- package/src/contract/deployment/utils/create-2-factory.ts +4 -3
- package/src/contract/verification/constructor-params.ts +8 -15
- package/src/event/types.ts +6 -5
- package/src/exports/ai.ts +1 -0
- package/src/exports/react.native.ts +1 -1
- package/src/exports/react.ts +1 -1
- package/src/exports/utils.ts +4 -1
- package/src/exports/wallets/engine.ts +4 -0
- package/src/exports/wallets.ts +2 -0
- package/src/extensions/ens/resolve-l2-name.ts +21 -5
- package/src/extensions/erc1155/read/getNFTs.ts +1 -1
- package/src/extensions/erc1155/write/mintTo.ts +1 -1
- package/src/extensions/erc1155/write/mintToBatch.ts +1 -1
- package/src/extensions/erc1155/write/sigMint.ts +1 -1
- package/src/extensions/modules/ClaimableERC1155/setClaimConditions.ts +2 -1
- package/src/extensions/modules/MintableERC1155/mintWithRole.ts +1 -1
- package/src/extensions/modules/MintableERC1155/mintWithSignature.ts +1 -1
- package/src/react/core/hooks/wallets/useAutoConnect.ts +12 -158
- package/src/react/core/hooks/wallets/useAutoConnectCore.test.tsx +1 -31
- package/src/react/core/hooks/wallets/useSendToken.ts +2 -1
- package/src/react/native/hooks/wallets/useAutoConnect.ts +1 -1
- package/src/react/native/ui/AutoConnect/AutoConnect.tsx +1 -1
- package/src/react/web/hooks/wallets/useAutoConnect.ts +2 -2
- package/src/react/web/ui/AutoConnect/AutoConnect.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +3 -1
- package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +2 -1
- package/src/react/web/ui/ConnectWallet/screens/WalletSwitcherConnectionScreen.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/useConnectModal.tsx +1 -1
- package/src/react/web/wallets/in-app/WalletAuth.tsx +1 -1
- package/src/utils/abi/encodeAbiParameters.ts +15 -11
- package/src/utils/ens/isValidENSName.test.ts +39 -0
- package/src/utils/ens/isValidENSName.ts +54 -0
- package/src/utils/extensions/drops/convert-quantity.ts +1 -1
- package/src/utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.ts +1 -1
- package/src/version.ts +1 -1
- package/src/wallets/connection/autoConnect.test.ts +67 -0
- package/src/wallets/connection/autoConnect.ts +58 -0
- package/src/wallets/connection/autoConnectCore.test.ts +403 -0
- package/src/wallets/connection/autoConnectCore.ts +184 -0
- package/src/{react/core/hooks → wallets}/connection/types.ts +5 -5
- package/src/{react/web/wallets → wallets}/defaultWallets.ts +5 -10
- package/src/wallets/engine/engine-account.test.ts +69 -0
- package/src/wallets/engine/index.ts +198 -0
- package/src/wallets/in-app/web/lib/get-url-token.ts +1 -1
- package/src/wallets/smart/lib/signing.ts +1 -1
- package/src/wallets/smart/smart-wallet-integration.test.ts +1 -0
- package/dist/cjs/react/core/hooks/connection/types.js.map +0 -1
- package/dist/cjs/react/core/utils/timeoutPromise.js.map +0 -1
- package/dist/cjs/react/web/wallets/defaultWallets.js.map +0 -1
- package/dist/esm/react/core/hooks/connection/types.js.map +0 -1
- package/dist/esm/react/core/utils/timeoutPromise.js.map +0 -1
- package/dist/esm/react/web/wallets/defaultWallets.js.map +0 -1
- package/dist/types/react/core/hooks/connection/types.d.ts.map +0 -1
- package/dist/types/react/core/utils/timeoutPromise.d.ts.map +0 -1
- package/dist/types/react/web/wallets/defaultWallets.d.ts +0 -11
- package/dist/types/react/web/wallets/defaultWallets.d.ts.map +0 -1
- /package/dist/cjs/{react/core/utils → utils}/timeoutPromise.js +0 -0
- /package/dist/cjs/{react/core/hooks → wallets}/connection/types.js +0 -0
- /package/dist/esm/{react/core/utils → utils}/timeoutPromise.js +0 -0
- /package/dist/esm/{react/core/hooks → wallets}/connection/types.js +0 -0
- /package/dist/types/{react/core/utils → utils}/timeoutPromise.d.ts +0 -0
- /package/src/{react/core/utils → utils}/timeoutPromise.test.ts +0 -0
- /package/src/{react/core/utils → utils}/timeoutPromise.ts +0 -0
@@ -1,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.getDefaultWallets = getDefaultWallets;
|
4
|
-
const constants_js_1 = require("
|
5
|
-
const create_wallet_js_1 = require("
|
4
|
+
const constants_js_1 = require("./constants.js");
|
5
|
+
const create_wallet_js_1 = require("./create-wallet.js");
|
6
6
|
/**
|
7
7
|
* @internal
|
8
8
|
*/
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"defaultWallets.js","sourceRoot":"","sources":["../../../src/wallets/defaultWallets.ts"],"names":[],"mappings":";;AASA,8CAeC;AAvBD,iDAAqE;AACrE,yDAAkD;AAIlD;;GAEG;AACH,SAAgB,iBAAiB,CAAC,OAGjC;IACC,OAAO;QACL,IAAA,+BAAY,EAAC,OAAO,CAAC;QACrB,IAAA,+BAAY,EAAC,uBAAQ,CAAC;QACtB,IAAA,+BAAY,EAAC,uBAAQ,EAAE;YACrB,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC;QACF,IAAA,+BAAY,EAAC,sBAAO,CAAC;QACrB,IAAA,+BAAY,EAAC,UAAU,CAAC;QACxB,IAAA,+BAAY,EAAC,qBAAM,CAAC;KACrB,CAAC;AACJ,CAAC"}
|
@@ -0,0 +1,143 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.engineAccount = engineAccount;
|
4
|
+
const hex_js_1 = require("../../utils/encoding/hex.js");
|
5
|
+
/**
|
6
|
+
* Creates an account that uses your engine backend wallet for sending transactions and signing messages.
|
7
|
+
*
|
8
|
+
* @param options - The options for the engine account.
|
9
|
+
* @returns An account that uses your engine backend wallet.
|
10
|
+
*
|
11
|
+
* @beta
|
12
|
+
* @wallet
|
13
|
+
*
|
14
|
+
* @example
|
15
|
+
* ```ts
|
16
|
+
* import { engineAccount } from "thirdweb/wallets/engine";
|
17
|
+
*
|
18
|
+
* const engineAcc = engineAccount({
|
19
|
+
* engineUrl: "https://engine.thirdweb.com",
|
20
|
+
* authToken: "your-auth-token",
|
21
|
+
* walletAddress: "0x...",
|
22
|
+
* });
|
23
|
+
*
|
24
|
+
* // then use the account as you would any other account
|
25
|
+
* const transaction = claimTo({
|
26
|
+
* contract,
|
27
|
+
* to: "0x...",
|
28
|
+
* quantity: 1n,
|
29
|
+
* });
|
30
|
+
* const result = await sendTransaction({ transaction, account: engineAcc });
|
31
|
+
* console.log("Transaction sent:", result.transactionHash);
|
32
|
+
* ```
|
33
|
+
*/
|
34
|
+
function engineAccount(options) {
|
35
|
+
const { engineUrl, authToken, walletAddress, chain } = options;
|
36
|
+
// these are shared across all methods
|
37
|
+
const headers = {
|
38
|
+
"x-backend-wallet-address": walletAddress,
|
39
|
+
Authorization: `Bearer ${authToken}`,
|
40
|
+
"Content-Type": "application/json",
|
41
|
+
};
|
42
|
+
return {
|
43
|
+
address: walletAddress,
|
44
|
+
sendTransaction: async (transaction) => {
|
45
|
+
const ENGINE_URL = new URL(engineUrl);
|
46
|
+
ENGINE_URL.pathname = `/backend-wallet/${transaction.chainId}/send-transaction`;
|
47
|
+
const engineData = {
|
48
|
+
// add to address if we have it (is optional to pass to engine)
|
49
|
+
toAddress: transaction.to || undefined,
|
50
|
+
// engine wants a hex string here so we serialize it
|
51
|
+
data: transaction.data || "0x",
|
52
|
+
// value is always required
|
53
|
+
value: (0, hex_js_1.toHex)(transaction.value ?? 0n),
|
54
|
+
};
|
55
|
+
// TODO: gas overrides etc?
|
56
|
+
const engineRes = await fetch(ENGINE_URL, {
|
57
|
+
method: "POST",
|
58
|
+
headers,
|
59
|
+
body: JSON.stringify(engineData),
|
60
|
+
});
|
61
|
+
if (!engineRes.ok) {
|
62
|
+
const body = await engineRes.text();
|
63
|
+
throw new Error(`Engine request failed with status ${engineRes.status} - ${body}`);
|
64
|
+
}
|
65
|
+
const engineJson = (await engineRes.json());
|
66
|
+
// wait for the queueId to be processed
|
67
|
+
ENGINE_URL.pathname = `/transaction/status/${engineJson.result.queueId}`;
|
68
|
+
const startTime = Date.now();
|
69
|
+
const TIMEOUT_IN_MS = 5 * 60 * 1000; // 5 minutes in milliseconds
|
70
|
+
while (Date.now() - startTime < TIMEOUT_IN_MS) {
|
71
|
+
const queueRes = await fetch(ENGINE_URL, {
|
72
|
+
method: "GET",
|
73
|
+
headers,
|
74
|
+
});
|
75
|
+
if (!queueRes.ok) {
|
76
|
+
const body = await queueRes.text();
|
77
|
+
throw new Error(`Engine request failed with status ${queueRes.status} - ${body}`);
|
78
|
+
}
|
79
|
+
const queueJSON = (await queueRes.json());
|
80
|
+
if (queueJSON.result.status === "errored" &&
|
81
|
+
queueJSON.result.errorMessage) {
|
82
|
+
throw new Error(queueJSON.result.errorMessage);
|
83
|
+
}
|
84
|
+
if (queueJSON.result.transactionHash) {
|
85
|
+
return {
|
86
|
+
transactionHash: queueJSON.result.transactionHash,
|
87
|
+
};
|
88
|
+
}
|
89
|
+
// wait 1s before checking again
|
90
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
91
|
+
}
|
92
|
+
throw new Error("Transaction timed out after 5 minutes");
|
93
|
+
},
|
94
|
+
signMessage: async ({ message }) => {
|
95
|
+
let engineMessage;
|
96
|
+
let isBytes = false;
|
97
|
+
if (typeof message === "string") {
|
98
|
+
engineMessage = message;
|
99
|
+
}
|
100
|
+
else {
|
101
|
+
engineMessage = (0, hex_js_1.toHex)(message.raw);
|
102
|
+
isBytes = true;
|
103
|
+
}
|
104
|
+
const ENGINE_URL = new URL(engineUrl);
|
105
|
+
ENGINE_URL.pathname = "/backend-wallet/sign-message";
|
106
|
+
const engineRes = await fetch(ENGINE_URL, {
|
107
|
+
method: "POST",
|
108
|
+
headers,
|
109
|
+
body: JSON.stringify({
|
110
|
+
message: engineMessage,
|
111
|
+
isBytes,
|
112
|
+
chainId: chain?.id,
|
113
|
+
}),
|
114
|
+
});
|
115
|
+
if (!engineRes.ok) {
|
116
|
+
const body = await engineRes.text();
|
117
|
+
throw new Error(`Engine request failed with status ${engineRes.status} - ${body}`);
|
118
|
+
}
|
119
|
+
const engineJson = (await engineRes.json());
|
120
|
+
return engineJson.result;
|
121
|
+
},
|
122
|
+
signTypedData: async (_typedData) => {
|
123
|
+
const ENGINE_URL = new URL(engineUrl);
|
124
|
+
ENGINE_URL.pathname = "/backend-wallet/sign-typed-data";
|
125
|
+
const engineRes = await fetch(ENGINE_URL, {
|
126
|
+
method: "POST",
|
127
|
+
headers,
|
128
|
+
body: JSON.stringify({
|
129
|
+
domain: _typedData.domain,
|
130
|
+
types: _typedData.types,
|
131
|
+
value: _typedData.message,
|
132
|
+
}),
|
133
|
+
});
|
134
|
+
if (!engineRes.ok) {
|
135
|
+
engineRes.body?.cancel();
|
136
|
+
throw new Error(`Engine request failed with status ${engineRes.status}`);
|
137
|
+
}
|
138
|
+
const engineJson = (await engineRes.json());
|
139
|
+
return engineJson.result;
|
140
|
+
},
|
141
|
+
};
|
142
|
+
}
|
143
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallets/engine/index.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"get-url-token.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/get-url-token.ts"],"names":[],"mappings":";;AAOA,kCAoCC;AAvCD;;GAEG;AACH,SAAgB,WAAW;IAMzB,IAAI,
|
1
|
+
{"version":3,"file":"get-url-token.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/get-url-token.ts"],"names":[],"mappings":";;AAOA,kCAoCC;AAvCD;;GAEG;AACH,SAAgB,WAAW;IAMzB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,aAAa;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAyB,CAAC;IAChE,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAA2B,CAAC;IAC1E,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAuB,CAAC;IAElE,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC,IAAI,QAAQ,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;YACvB,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,SAAS,CACtB,EAAE,EACF,EAAE,EACF,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CACnD,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
@@ -220,7 +220,7 @@ async function checkFor712Factory({ factoryContract, accountContract, originalMs
|
|
220
220
|
* });
|
221
221
|
* ```
|
222
222
|
*
|
223
|
-
* @
|
223
|
+
* @wallet
|
224
224
|
*/
|
225
225
|
async function deploySmartAccount(args) {
|
226
226
|
const { chain, client, smartAccount, accountContract } = args;
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { nebulaFetch } from "./common.js";
|
2
|
+
/**
|
3
|
+
* Chat with Nebula.
|
4
|
+
*
|
5
|
+
* @param input - The input for the chat.
|
6
|
+
* @returns The chat response.
|
7
|
+
* @beta
|
8
|
+
* @nebula
|
9
|
+
*
|
10
|
+
* @example
|
11
|
+
* ```ts
|
12
|
+
* import { Nebula } from "thirdweb/ai";
|
13
|
+
*
|
14
|
+
* const response = await Nebula.chat({
|
15
|
+
* client: TEST_CLIENT,
|
16
|
+
* prompt: "What's the symbol of this contract: 0xe2cb0eb5147b42095c2FfA6F7ec953bb0bE347D8",
|
17
|
+
* context: {
|
18
|
+
* chains: [sepolia],
|
19
|
+
* },
|
20
|
+
* });
|
21
|
+
* ```
|
22
|
+
*/
|
23
|
+
export async function chat(input) {
|
24
|
+
return nebulaFetch("chat", input);
|
25
|
+
}
|
26
|
+
//# sourceMappingURL=chat.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/ai/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,WAAW,EAAE,MAAM,aAAa,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,KAAY;IACrC,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC"}
|
@@ -0,0 +1,66 @@
|
|
1
|
+
import { getCachedChain } from "../chains/utils.js";
|
2
|
+
import { prepareTransaction, } from "../transaction/prepare-transaction.js";
|
3
|
+
import { toBigInt } from "../utils/bigint.js";
|
4
|
+
import { getClientFetch } from "../utils/fetch.js";
|
5
|
+
const NEBULA_API_URL = "https://nebula-api.thirdweb.com";
|
6
|
+
export async function nebulaFetch(mode, input) {
|
7
|
+
const fetch = getClientFetch(input.client);
|
8
|
+
const response = await fetch(`${NEBULA_API_URL}/${mode}`, {
|
9
|
+
method: "POST",
|
10
|
+
headers: {
|
11
|
+
"Content-Type": "application/json",
|
12
|
+
},
|
13
|
+
body: JSON.stringify({
|
14
|
+
message: input.prompt, // TODO: support array of messages
|
15
|
+
session_id: input.sessionId,
|
16
|
+
...(input.account
|
17
|
+
? {
|
18
|
+
execute_config: {
|
19
|
+
mode: "client",
|
20
|
+
signer_wallet_address: input.account.address,
|
21
|
+
},
|
22
|
+
}
|
23
|
+
: {}),
|
24
|
+
...(input.context
|
25
|
+
? {
|
26
|
+
context_filter: {
|
27
|
+
chain_ids: input.context.chains?.map((c) => c.id.toString()) || [],
|
28
|
+
signer_wallet_address: input.context.walletAddresses || [],
|
29
|
+
contract_addresses: input.context.contractAddresses || [],
|
30
|
+
},
|
31
|
+
}
|
32
|
+
: {}),
|
33
|
+
}),
|
34
|
+
});
|
35
|
+
if (!response.ok) {
|
36
|
+
const error = await response.text();
|
37
|
+
throw new Error(`Nebula API error: ${error}`);
|
38
|
+
}
|
39
|
+
const data = (await response.json());
|
40
|
+
// parse transactions if present
|
41
|
+
let transactions = [];
|
42
|
+
if (data.actions) {
|
43
|
+
transactions = data.actions
|
44
|
+
.map((action) => {
|
45
|
+
// only parse sign_transaction actions
|
46
|
+
if (action.type === "sign_transaction") {
|
47
|
+
const tx = JSON.parse(action.data);
|
48
|
+
return prepareTransaction({
|
49
|
+
chain: getCachedChain(tx.chainId),
|
50
|
+
client: input.client,
|
51
|
+
to: tx.to,
|
52
|
+
value: tx.value ? toBigInt(tx.value) : undefined,
|
53
|
+
data: tx.data,
|
54
|
+
});
|
55
|
+
}
|
56
|
+
return undefined;
|
57
|
+
})
|
58
|
+
.filter((tx) => tx !== undefined);
|
59
|
+
}
|
60
|
+
return {
|
61
|
+
message: data.message,
|
62
|
+
sessionId: data.session_id,
|
63
|
+
transactions,
|
64
|
+
};
|
65
|
+
}
|
66
|
+
//# sourceMappingURL=common.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/ai/common.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { sendTransaction } from "../transaction/actions/send-transaction.js";
|
2
|
+
import { nebulaFetch } from "./common.js";
|
3
|
+
/**
|
4
|
+
* Execute a transaction based on a prompt.
|
5
|
+
*
|
6
|
+
* @param input - The input for the transaction.
|
7
|
+
* @returns The transaction hash.
|
8
|
+
* @beta
|
9
|
+
* @nebula
|
10
|
+
*
|
11
|
+
* @example
|
12
|
+
* ```ts
|
13
|
+
* import { Nebula } from "thirdweb/ai";
|
14
|
+
*
|
15
|
+
* const result = await Nebula.execute({
|
16
|
+
* client: TEST_CLIENT,
|
17
|
+
* prompt: "send 0.0001 ETH to vitalik.eth",
|
18
|
+
* account: TEST_ACCOUNT_A,
|
19
|
+
* context: {
|
20
|
+
* chains: [sepolia],
|
21
|
+
* },
|
22
|
+
* });
|
23
|
+
* ```
|
24
|
+
*/
|
25
|
+
export async function execute(input) {
|
26
|
+
const result = await nebulaFetch("execute", input);
|
27
|
+
// TODO: optionally only return the transaction without executing it?
|
28
|
+
if (result.transactions.length === 0) {
|
29
|
+
throw new Error(result.message);
|
30
|
+
}
|
31
|
+
const tx = result.transactions[0];
|
32
|
+
if (!tx) {
|
33
|
+
throw new Error(result.message);
|
34
|
+
}
|
35
|
+
return sendTransaction({
|
36
|
+
transaction: tx,
|
37
|
+
account: input.account,
|
38
|
+
});
|
39
|
+
}
|
40
|
+
//# sourceMappingURL=execute.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/ai/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E,OAAO,EAAc,WAAW,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,KAAmC;IAEnC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACnD,qEAAqE;IACrE,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,eAAe,CAAC;QACrB,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;AACL,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import * as ox__Hex from "ox/Hex";
|
2
2
|
import { ERC_6492_MAGIC_VALUE } from "./constants.js";
|
3
3
|
/**
|
4
4
|
* @description Determines if a signature is compatible with [ERC6492](https://eips.ethereum.org/EIPS/eip-6492)
|
@@ -17,6 +17,6 @@ import { ERC_6492_MAGIC_VALUE } from "./constants.js";
|
|
17
17
|
* @auth
|
18
18
|
*/
|
19
19
|
export function isErc6492Signature(signature) {
|
20
|
-
return
|
20
|
+
return ox__Hex.slice(signature, -32) === ERC_6492_MAGIC_VALUE;
|
21
21
|
}
|
22
22
|
//# sourceMappingURL=is-erc6492-signature.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"is-erc6492-signature.js","sourceRoot":"","sources":["../../../src/auth/is-erc6492-signature.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"is-erc6492-signature.js","sourceRoot":"","sources":["../../../src/auth/is-erc6492-signature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAc;IAC/C,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,KAAK,oBAAoB,CAAC;AAChE,CAAC"}
|
@@ -1,4 +1,6 @@
|
|
1
|
-
import
|
1
|
+
import * as ox__AbiParameters from "ox/AbiParameters";
|
2
|
+
import * as ox__Address from "ox/Address";
|
3
|
+
import { WrappedSignature as ox__WrappedSignature } from "ox/erc6492";
|
2
4
|
/**
|
3
5
|
* @description Parses a serialized ({@link Hex}) [ERC-6492](https://eips.ethereum.org/EIPS/eip-6492) signature.
|
4
6
|
* If the signature is not in ERC-6492 format, the original signature is returned.
|
@@ -16,10 +18,14 @@ import { decodeAbiParameters, isErc6492Signature } from "viem";
|
|
16
18
|
* @auth
|
17
19
|
*/
|
18
20
|
export function parseErc6492Signature(signature) {
|
19
|
-
if (!
|
21
|
+
if (!ox__WrappedSignature.validate(signature)) {
|
20
22
|
return { signature };
|
21
23
|
}
|
22
|
-
const [address, data, originalSignature] =
|
23
|
-
return {
|
24
|
+
const [address, data, originalSignature] = ox__AbiParameters.decode([{ type: "address" }, { type: "bytes" }, { type: "bytes" }], signature);
|
25
|
+
return {
|
26
|
+
address: ox__Address.checksum(address),
|
27
|
+
data,
|
28
|
+
signature: originalSignature,
|
29
|
+
};
|
24
30
|
}
|
25
31
|
//# sourceMappingURL=parse-erc6492-signature.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parse-erc6492-signature.js","sourceRoot":"","sources":["../../../src/auth/parse-erc6492-signature.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"parse-erc6492-signature.js","sourceRoot":"","sources":["../../../src/auth/parse-erc6492-signature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,iBAAiB,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,WAAW,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAYtE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAc;IAEd,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9C,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,GAAG,iBAAiB,CAAC,MAAM,CACjE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAC3D,SAAS,CACV,CAAC;IACF,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtC,IAAI;QACJ,SAAS,EAAE,iBAAiB;KAC7B,CAAC;AACJ,CAAC"}
|
@@ -1,4 +1,8 @@
|
|
1
|
-
import
|
1
|
+
import * as ox__Abi from "ox/Abi";
|
2
|
+
import * as ox__AbiConstructor from "ox/AbiConstructor";
|
3
|
+
import * as ox__AbiFunction from "ox/AbiFunction";
|
4
|
+
import * as ox__Signature from "ox/Signature";
|
5
|
+
import { WrappedSignature as ox__WrappedSignature } from "ox/erc6492";
|
2
6
|
import { getContract } from "../contract/contract.js";
|
3
7
|
import { isValidSignature } from "../extensions/erc1271/__generated__/isValidSignature/read/isValidSignature.js";
|
4
8
|
import { eth_call } from "../rpc/actions/eth_call.js";
|
@@ -41,7 +45,7 @@ export async function verifyHash({ hash, signature, address, client, chain, acco
|
|
41
45
|
if (isHex(signature))
|
42
46
|
return signature;
|
43
47
|
if (typeof signature === "object" && "r" in signature && "s" in signature)
|
44
|
-
return
|
48
|
+
return ox__Signature.toHex(signature);
|
45
49
|
if (signature instanceof Uint8Array)
|
46
50
|
return fromBytes(signature, "hex");
|
47
51
|
// We should never hit this but TS doesn't know that
|
@@ -53,7 +57,7 @@ export async function verifyHash({ hash, signature, address, client, chain, acco
|
|
53
57
|
if (!accountFactory)
|
54
58
|
return signatureHex;
|
55
59
|
// If this sigature was already wrapped for ERC-6492, carry on
|
56
|
-
if (
|
60
|
+
if (ox__WrappedSignature.validate(signatureHex))
|
57
61
|
return signatureHex;
|
58
62
|
// Otherwise, serialize the signature for ERC-6492 validation
|
59
63
|
return serializeErc6492Signature({
|
@@ -64,24 +68,21 @@ export async function verifyHash({ hash, signature, address, client, chain, acco
|
|
64
68
|
})();
|
65
69
|
let verificationData;
|
66
70
|
const zkSyncChain = await isZkSyncChain(chain);
|
71
|
+
const abi = ox__Abi.from(ox__WrappedSignature.universalSignatureValidatorAbi);
|
67
72
|
if (zkSyncChain) {
|
68
73
|
// zksync chains dont support deploying code with eth_call
|
69
74
|
// need to call a deployed contract instead
|
70
75
|
verificationData = {
|
71
76
|
to: ZKSYNC_VALIDATOR_ADDRESS,
|
72
|
-
data:
|
73
|
-
abi: universalSignatureValidatorAbi,
|
74
|
-
functionName: "isValidSig",
|
75
|
-
args: [address, hash, wrappedSignature],
|
76
|
-
}),
|
77
|
+
data: ox__AbiFunction.encodeData(ox__AbiFunction.fromAbi(abi, "isValidSig"), [address, hash, wrappedSignature]),
|
77
78
|
};
|
78
79
|
}
|
79
80
|
else {
|
81
|
+
const validatorConstructor = ox__AbiConstructor.fromAbi(abi);
|
80
82
|
verificationData = {
|
81
|
-
data:
|
82
|
-
abi: universalSignatureValidatorAbi,
|
83
|
+
data: ox__AbiConstructor.encode(validatorConstructor, {
|
83
84
|
args: [address, hash, wrappedSignature],
|
84
|
-
bytecode:
|
85
|
+
bytecode: ox__WrappedSignature.universalSignatureValidatorBytecode,
|
85
86
|
}),
|
86
87
|
};
|
87
88
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"verify-hash.js","sourceRoot":"","sources":["../../../src/auth/verify-hash.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"verify-hash.js","sourceRoot":"","sources":["../../../src/auth/verify-hash.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,6 @@
|
|
1
|
-
import
|
1
|
+
import * as ox__Bytes from "ox/Bytes";
|
2
|
+
import * as ox__Secp256k1 from "ox/Secp256k1";
|
3
|
+
import * as ox__Signature from "ox/Signature";
|
2
4
|
import { isHex } from "../utils/encoding/hex.js";
|
3
5
|
import { hashMessage } from "../utils/hashing/hashMessage.js";
|
4
6
|
import { verifyHash } from "./verify-hash.js";
|
@@ -24,9 +26,9 @@ export async function verifyEOASignature(options) {
|
|
24
26
|
if (!isHex(options.signature)) {
|
25
27
|
return false;
|
26
28
|
}
|
27
|
-
const recoveredAddress =
|
28
|
-
|
29
|
-
signature: options.signature,
|
29
|
+
const recoveredAddress = ox__Secp256k1.recoverAddress({
|
30
|
+
payload: messageHash,
|
31
|
+
signature: ox__Signature.fromHex(options.signature),
|
30
32
|
});
|
31
33
|
if (recoveredAddress.toLowerCase() === options.address.toLowerCase()) {
|
32
34
|
return true;
|
@@ -65,9 +67,15 @@ export async function verifyEOASignature(options) {
|
|
65
67
|
*/
|
66
68
|
export async function verifyContractWalletSignature({ signature, message, address, chain, client, accountFactory, }) {
|
67
69
|
const messageHash = hashMessage(message);
|
70
|
+
const parsedSignature = (() => {
|
71
|
+
if (ox__Bytes.validate(signature)) {
|
72
|
+
return ox__Bytes.toHex(signature);
|
73
|
+
}
|
74
|
+
return signature;
|
75
|
+
})();
|
68
76
|
return verifyHash({
|
69
77
|
hash: messageHash,
|
70
|
-
signature,
|
78
|
+
signature: parsedSignature,
|
71
79
|
address,
|
72
80
|
client,
|
73
81
|
chain,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"verify-signature.js","sourceRoot":"","sources":["../../../src/auth/verify-signature.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"verify-signature.js","sourceRoot":"","sources":["../../../src/auth/verify-signature.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import * as ox__TypedData from "ox/TypedData";
|
2
2
|
import { verifyHash } from "./verify-hash.js";
|
3
3
|
/**
|
4
4
|
* @description Verify am [EIP-712](https://eips.ethereum.org/EIPS/eip-712) typed data signature. This function is interoperable with all wallet types (smart accounts or EOAs).
|
@@ -59,7 +59,7 @@ import { verifyHash } from "./verify-hash.js";
|
|
59
59
|
* @auth
|
60
60
|
*/
|
61
61
|
export async function verifyTypedData({ address, signature, client, chain, accountFactory, message, domain, primaryType, types, }) {
|
62
|
-
const messageHash =
|
62
|
+
const messageHash = ox__TypedData.getSignPayload({
|
63
63
|
message,
|
64
64
|
domain,
|
65
65
|
primaryType,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"verify-typed-data.js","sourceRoot":"","sources":["../../../src/auth/verify-typed-data.ts"],"names":[],"mappings":"AACA,OAAO,
|
1
|
+
{"version":3,"file":"verify-typed-data.js","sourceRoot":"","sources":["../../../src/auth/verify-typed-data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,aAAa,MAAM,cAAc,CAAC;AAK9C,OAAO,EAAyB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAmBrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAGnC,EACA,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,cAAc,EACd,OAAO,EACP,MAAM,EACN,WAAW,EACX,KAAK,GACyC;IAC9C,MAAM,WAAW,GAAG,aAAa,CAAC,cAAc,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,WAAW;QACX,KAAK;KACiB,CAAC,CAAC;IAC1B,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,WAAW;QACjB,SAAS;QACT,OAAO;QACP,KAAK;QACL,MAAM;QACN,cAAc;KACf,CAAC,CAAC;AACL,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import * as ox__ContractAddress from "ox/ContractAddress";
|
2
2
|
import { getGasPrice } from "../../../gas/get-gas-price.js";
|
3
3
|
import { eth_getBalance } from "../../../rpc/actions/eth_getBalance.js";
|
4
4
|
import { eth_sendRawTransaction } from "../../../rpc/actions/eth_sendRawTransaction.js";
|
@@ -6,6 +6,7 @@ import { getRpcClient } from "../../../rpc/rpc.js";
|
|
6
6
|
import { sendTransaction } from "../../../transaction/actions/send-transaction.js";
|
7
7
|
import { waitForReceipt } from "../../../transaction/actions/wait-for-tx-receipt.js";
|
8
8
|
import { prepareTransaction } from "../../../transaction/prepare-transaction.js";
|
9
|
+
import { getAddress } from "../../../utils/address.js";
|
9
10
|
import { isEIP155Enforced } from "../../../utils/any-evm/is-eip155-enforced.js";
|
10
11
|
import { getKeylessTransaction } from "../../../utils/any-evm/keyless-transaction.js";
|
11
12
|
import { isContractDeployed } from "../../../utils/bytecode/is-contract-deployed.js";
|
@@ -172,14 +173,14 @@ async function _getCreate2FactoryDeploymentInfo(chainId, gasOptions) {
|
|
172
173
|
},
|
173
174
|
signature: SIGNATURE,
|
174
175
|
});
|
175
|
-
const create2FactoryAddress =
|
176
|
+
const create2FactoryAddress = ox__ContractAddress.from({
|
176
177
|
from: deploymentTransaction.signerAddress,
|
177
178
|
nonce: 0n,
|
178
179
|
});
|
179
180
|
return {
|
180
181
|
...deploymentTransaction,
|
181
182
|
valueToSend: gasPrice * gas,
|
182
|
-
predictedAddress: create2FactoryAddress,
|
183
|
+
predictedAddress: getAddress(create2FactoryAddress),
|
183
184
|
};
|
184
185
|
}
|
185
186
|
function _getNearestGasPriceBin(gasPrice) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"create-2-factory.js","sourceRoot":"","sources":["../../../../../src/contract/deployment/utils/create-2-factory.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"create-2-factory.js","sourceRoot":"","sources":["../../../../../src/contract/deployment/utils/create-2-factory.ts"],"names":[],"mappings":"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"}
|