Skip to main content

Add Session

Add additional sessions to your existing login method. Every session shares the same wallet address with the possibility of assigning different permissions for each session. You must provide a IPermissions object whenever you call AddSession. Learn how to construct permissions.
Address contractAddress = new Address("0x33985d320809E26274a72E03268c8a29927Bc6dA");
BigInteger deadline = new BigInteger(DateTimeOffset.UtcNow.ToUnixTimeSeconds() * 1000 + 1000 * 60 * 5000);

IPermissions permissions = new ContractPermissions(Chain.TestnetAbitrumSepolia, contractAddress, deadline, 0);
await wallet.AddSession(permissions);

Disconnect

Sign out will clear the local storage.
wallet.Disconnect();

Get All Session Wallets

Get all available sessions that you are currently connected to.
Address[] signerAddresses = wallet.GetAllSigners();

Events

On Wallet Created

The WalletCreated event is called whenever you sign in or you recover a wallet from storage.
SequenceWallet.WalletCreated += wallet =>
{
    // Integrate your own logic to handle wallet creations.
}

On Wallet Disconnected

The Disconnected event is called whenever you hit wallet.Disconnect(). This means, you need to re-connect.
SequenceWallet.Disconnected += () =>
{
    // Integrate your own logic to handle disconnects.
}
I