Skip to content

v2.10.0

Compare
Choose a tag to compare
@0xFirekeeper 0xFirekeeper released this 22 Nov 16:52
· 51 commits to main since this release
c158709

What's Changed

  • Added AuthProvider.Steam as a login option for In-App or Ecosystem Wallets.
var steamWallet = await InAppWallet.Create(client: client, authProvider: AuthProvider.Steam);
if (!await steamWallet.IsConnected())
{
    _ = await steamWallet.LoginWithOauth(...);
}
var steamWalletAddy = await steamWallet.GetAddress();
  • Added the ability to pay for gas with ERC20 tokens when using Smart Wallet.
    • Currently supports Base USDC, Celo CUSD, and Lisk LSK tokens.
    • Simply select a TokenPaymaster when creating a SmartWallet and all transactions will be paid for with the corresponding ERC20 from the user's Smart Wallet.
    • Useful on L2s where the native token is ETH and you want to enshrine another coin or onramp your users directly to that coin.
    • These TokenPaymasters entirely operate onchain, leveraging popular DEXes and decentralized price feeds from Uniswap & Chainlink.
    • This product is in beta, and only compatible with EntryPoint v0.7.0, which we auto select for you if not overriden when configurin your wallet.
// Example of paying for a transaction using Lisk's LSK Stablecoin instead of native ETH
var chainId = 1135; // lisk

var erc20SmartWallet = await SmartWallet.Create(
  personalWallet: privateKeyWallet, 
  chainId: chainId, 
  tokenPaymaster: TokenPaymaster.LISK_LSK
);

var erc20SmartWalletAddress = await erc20SmartWallet.GetAddress();
Console.WriteLine($"ERC20 Smart Wallet address: {erc20SmartWalletAddress}");

var receipt = await erc20SmartWallet.Transfer(chainId: chainId, toAddress: erc20SmartWalletAddress, weiAmount: 0);
Console.WriteLine($"Receipt: {JsonConvert.SerializeObject(receipt, Formatting.Indented)}");