UNPKG

@argent/x-sessions

Version:

Manage sessions for Argent X wallets

60 lines (58 loc) 1.71 kB
import { Session, SessionKey } from './session.types'; import { ArraySignatureType, BigNumberish, Call, RawArgs, TypedData } from 'starknet'; export type Network = "mainnet" | "sepolia"; export interface OutsideExecution { caller: string; nonce: BigNumberish; execute_after: BigNumberish; execute_before: BigNumberish; calls: OutsideCall[]; } export interface OutsideCall { to: string; selector: BigNumberish; calldata: RawArgs; } export type OutsideExecutionTypedDataResponse = { signature: ArraySignatureType; outsideExecutionTypedData: TypedData; }; export interface OutsideExecutionParams { caller?: string; execute_after?: BigNumberish; execute_before?: BigNumberish; nonce?: BigNumberish; version?: string; } export interface CreateOutsideExecutionCallParams { session: Session; sessionKey: SessionKey; argentSessionServiceUrl?: string; cacheAuthorisation?: boolean; calls: Call[]; outsideExecutionParams?: OutsideExecutionParams; network?: Network; } export interface BuildOutsideExecutionTypedDataParams { outsideExecution: OutsideExecution; chainId: string; version?: string; } export interface CreateOutsideExecutionTypedData { session: Session; sessionKey: SessionKey; argentSessionServiceUrl?: string; cacheAuthorisation?: boolean; calls: Call[]; outsideExecutionParams?: OutsideExecutionParams; network?: Network; } export interface SignOutsideExecutionParams { session: Session; sessionKey: SessionKey; argentSessionServiceUrl: string; outsideExecutionTypedData: TypedData; cacheAuthorisation?: boolean; calls: Call[]; network?: Network; }