EscrowNet / EscrowNet/escrownet-sdk

Implement Starknet Account Abstraction & Session Token Support

Open
#5 2 comments 0 reactions 1 assignee Claimed by @Onasachi View on GitHub
Backend Difficulty: Hard ODHack14 Skill: Typescript
Dominant language
TypeScript
Stars
5
Forks
5
PR merge metrics
No merged PRs in 30d

Description

## 📚 Overview

This feature introduces support for Starknet’s Account Abstraction (AA) and session-based authentication to simplify wallet interactions and reduce signing prompts. This improvement aligns with Starknet’s user-friendly design and enhances the developer experience by streamlining transaction flows.

## 🛠️ Background & Context

- **Account Abstraction (AA):** Simplifies wallet interactions on Starknet by abstracting complex signing flows.
- **Session Tokens:** Reduce frequent signing prompts by enabling session-based authentication, as observed in logs with the session-token.
- **Compatibility:** Ensure integration with major Starknet wallets (e.g., Argent X, Braavos) and support Paymaster for gas subsidies.

For more context on the project, please refer to the [README](https://github.com/EscrowNet/escrownet-sdk?tab=readme-ov-file).

## 🚀 Task Breakdown

1. **Implement AA Support:**
- Integrate Starknet’s Account Abstraction to simplify the wallet interaction process.
- Ensure the implementation aligns with Starknet’s native design principles.

2. **Session-Based Authentication:**
- Introduce session tokens to reduce frequent signing prompts.
- Example snippet to consider:
```javascript
async function signTransactionWithSession(account, transaction) {
const sessionToken = await generateSessionToken(account);
const signature = [...sessionToken, /* other signature components */];
return { ...transaction, signature };
}
```

3. **Compatibility Testing:**
- Ensure that the implementation works seamlessly with Starknet wallets such as Argent X and Braavos.
- Validate the functionality with Paymaster for gas subsidies.

## ✅ Definition of Done

- AA support is fully implemented for Starknet.
- Session tokens allow for reduced signing prompts during wallet interactions.
- Compatibility with major Starknet wallets and Paymaster is confirmed.
- All changes are documented and tested thoroughly.

Let's work together to simplify user flows and enhance the overall DX on Starknet! 🚀

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.