Types and interfaces
List of important types.
declare type InitParams = {
appName: string;
sessionParams: SessionParameters;
paymasterParams?: PaymasterParameters;
webwalletUrl?: string;
environment?: keyof typeof ENVIRONMENTS;
provider?: ProviderInterface;
};
type SessionParameters = {
allowedMethods: Array<{
contract: string;
selector: string;
}>;
validityDays?: number;
};
type PaymasterParameters = {
baseUrl?: string;
apiKey?: string;
tokenAddress?: Address;
};
type ConnectResponse = {
account: SessionAccount;
user?: User;
callbackData?: string;
approvalTransactionHash?: string;
approvalRequestsCalls?: Call[];
deploymentPayload?: AccountDeploymentPayload;
};
interface SessionAccountInterface extends AccountInterface {
isDeployed(): Promise<boolean>;
getDeploymentPayload(): Promise<DeployAccountContractPayload>;
getOutsideExecutionPayload({ calls }: { calls: Call[] }): Promise<Call>;
getSessionStatus(): SessionStatus; // "VALID" | "EXPIRED" | "INVALID_SCOPE"
signMessageFromOutside(typedData: TypedData, calls: Call[]): Promise<ArraySignatureType>;
}
declare interface ArgentWebWalletInterface {
provider: ProviderInterface;
sessionAccount?: SessionAccountInterface;
isConnected(): Promise<boolean>;
connect(): Promise<ConnectResponse | undefined>;
requestConnection({ callbackData, approvalRequests, }: {
callbackData?: string;
approvalRequests?: ApprovalRequest[];
}): Promise<ConnectResponse | undefined>;
requestApprovals(approvalRequests: ApprovalRequest[]): Promise<string>;
exportSignedSession(): Promise<SignedSession | undefined>;
clearSession(): Promise<void>;
}
Last updated
Was this helpful?