.NET/Unity - Login with X

Adds Login with X (formerly Twitter) as an AuthProvider option for the .NET and Unity SDKs.

.NET/Unity - Login with X

What's Changed

  • Adds AuthProvider.X as a login option. Linking supported.
// Unity - InAppWallet
var iawOptions = new WalletOptions(
    provider: WalletProvider.InAppWallet,
    chainId: 421614,
    inAppWalletOptions: new InAppWalletOptions(authprovider: AuthProvider.X)
);
var iaw = await ThirdwebManager.Instance.ConnectWallet(iawOptions) as InAppWallet;

// Unity - EcosystemWallet
var ecoOptions = new WalletOptions(
    provider: WalletProvider.EcosystemWallet,
    chainId: 421614,
    ecosystemWalletOptions: new EcosystemWalletOptions(
        ecosystemId: "ecosystem.the-bonfire",
        authprovider: AuthProvider.X
    )
);
var eco = await ThirdwebManager.Instance.ConnectWallet(ecoOptions) as EcosystemWallet;

// .NET - InAppWallet (Windows Console Example)
var inAppWalletOAuth = await InAppWallet.Create(
  client: client, 
  authProvider: AuthProvider.X
);
if (!await inAppWalletOAuth.IsConnected())
{
    _ = await inAppWalletOAuth.LoginWithOauth(
        isMobile: false,
        (url) =>
        {
            var psi = new ProcessStartInfo { FileName = url, UseShellExecute = true };
            _ = Process.Start(psi);
        },
    );
}
var inAppWalletOAuthAddress = await inAppWalletOAuth.GetAddress();
Console.WriteLine($"InAppWallet OAuth address: {inAppWalletOAuthAddress}");

// .NET - EcosystemWallet (Windows Console Example)
var ecosystemWalletOAuth = await EcosystemWallet.Create(
  ecosystemId: "ecosystem.the-bonfire", 
  client: client, 
  authProvider: AuthProvider.X
);
if (!await ecosystemWalletOAuth.IsConnected())
{
    _ = await ecosystemWalletOAuth.LoginWithOauth(
        isMobile: false,
        (url) =>
        {
            var psi = new ProcessStartInfo { FileName = url, UseShellExecute = true };
            _ = Process.Start(psi);
        }
    );
}
var ecosystemWalletOAuthAddress = await ecosystemWalletOAuth.GetAddress();
Console.WriteLine($"EcosystemWallet OAuth address: {ecosystemWalletOAuthAddress}");
  • Fixes edge case when sending two SmartWallet transactions at once from an undeployed account and using EntryPoint 0.7.0 where deployment code would be duplicated causing an error.

.NET Nuget Release | Unity Release

.NET Docs | Unity Docs