Skip to content

thirdweb@5.11.0

Choose a tag to compare

@jnsdls jnsdls released this 24 Apr 15:50
· 6950 commits to main since this release
e1cd07c

Minor Changes

  • #2679 560d8ad Thanks @ElasticBottle! - Add support for connecting in-app wallet using phone number

    Usage in TypeScript

    import { createThirdwebClient, createWallet } from "thirdweb";
    import { preAuthenticate } from "thirdweb/wallets/in-app";
    
    const client = createThirdwebClient({ clientId: "..." });
    
    const phoneNumber = '+123456789';
    
    // Send OTP to given phone number
    async function sendOTP() {
      await preAuthenticate({
        strategy: "phone",
        phoneNumber,
        client,
      });
    }
    
    async function connect() {
      // create a in-app wallet instance
      const wallet = createWallet('inApp');
      // if the OTP is correct, the wallet will be connected else an error will be thrown
      const account = await wallet.connect({
        client,
        strategy: "phone";
        phoneNumber,
        verificationCode: '...' // Pass the OTP entered by the user
      });
    
      console.log('connected to', account);
    }

    Usage in React

    import { createThirdwebClient } from "thirdweb";
    import { preAuthenticate } from "thirdweb/wallets/in-app";
    import { useConnect } from "thirdweb/react";
    
    const client = createThirdwebClient({ clientId: "..." });
    
    function Component() {
      const { connect } = useConnect();
      const [phoneNumber, setPhoneNumber] = useState(''); // get phone number from user
      const [otp, setOtp] = useState(''); // get OTP from user
    
      // Send OTP to given phone number
      async function sendOTP() {
        await preAuthenticate({
          strategy: "phone",
          phoneNumber,
          client,
        });
      }
    
      async function connect() {
        // create a in-app wallet instance
        const wallet = createWallet('inApp');
        // if the OTP is correct, the wallet will be connected else an error will be thrown
        await wallet.connect({
          client,
          strategy: "phone";
          phoneNumber,
          verificationCode: otp
        });
    
        // set the wallet as active
        connect(wallet)
      }
    
      // render UI to get OTP and phone number from user
      return <div> ...  </div>
    }
  • #2818 948f155 Thanks @jnsdls! - Gasless transactions in Typescript

    import { sendTransaction } from "thirdweb";
    
    const result = sendTransaction({
      transaction,
      account,
      gasless: {
        provider: "engine",
        relayerUrl: "https://...",
        relayerForwarderAddress: "0x...",
      },
    });

    Gasless transactions in React

    import { useSendTransaction } from "thirdweb/react";
    
    const { mutate } = useSendTransaction({
      gasless: {
        provider: "engine",
        relayerUrl: "https://...",
        relayerForwarderAddress: "0x...",
      },
    });
    
    // Call mutate with the transaction object
    mutate(transaction);

Patch Changes