From 76d1800096d849f7e725bb2cbdf6614e1132969c Mon Sep 17 00:00:00 2001 From: Reza Rahemtola Date: Mon, 19 Aug 2024 03:12:53 +0200 Subject: [PATCH] feat: new CheckConnection method --- packages/sdk/src/methods/general.ts | 19 ++++++++++++++++++- packages/sdk/src/methods/index.ts | 2 +- packages/sdk/src/types/index.ts | 7 ++++--- packages/sdk/src/types/methods/general.ts | 10 ++++++++++ 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/packages/sdk/src/methods/general.ts b/packages/sdk/src/methods/general.ts index e43f2dc..c183f7c 100644 --- a/packages/sdk/src/methods/general.ts +++ b/packages/sdk/src/methods/general.ts @@ -1,6 +1,11 @@ import { EAdenaResponseStatus } from '../types/common'; import { getAdena } from '../utils'; -import { AddEstablishResponse, AddEstablishResponseType, GetAccountResponseData } from '../types/methods/general'; +import { + AddEstablishResponse, + AddEstablishResponseType, + CheckConnectionResponse, + GetAccountResponseData, +} from '../types/methods/general'; /** * Establish a connection to your site from Adena @@ -28,6 +33,18 @@ export const establishConnection = async (name: string): Promise => { + const adena = getAdena(); + + return await adena.CheckConnection(name); +}; + /** * Fetch information about the current connected account * @async diff --git a/packages/sdk/src/methods/index.ts b/packages/sdk/src/methods/index.ts index c77b59a..292c660 100644 --- a/packages/sdk/src/methods/index.ts +++ b/packages/sdk/src/methods/index.ts @@ -1,4 +1,4 @@ export { addNetwork, switchNetwork } from './network'; export { signAndSendTransaction, signTransaction } from './transactions'; -export { establishConnection, getAccountInfo } from './general'; +export { establishConnection, checkConnection, getAccountInfo } from './general'; export { onAccountChange, onNetworkChange } from './events'; diff --git a/packages/sdk/src/types/index.ts b/packages/sdk/src/types/index.ts index e19a0e7..ee27598 100644 --- a/packages/sdk/src/types/index.ts +++ b/packages/sdk/src/types/index.ts @@ -1,11 +1,12 @@ -import { AdenaDoContract, AdenaSignTx } from './methods/transactions'; -import { AdenaAddNetwork, AdenaSwitchNetwork } from './methods/network'; -import { AdenaAddEstablish, AdenaGetAccount } from './methods/general'; import { AdenaOnEvent } from './methods/events'; +import { AdenaAddEstablish, AdenaCheckConnection, AdenaGetAccount } from './methods/general'; +import { AdenaAddNetwork, AdenaSwitchNetwork } from './methods/network'; +import { AdenaDoContract, AdenaSignTx } from './methods/transactions'; export type AdenaWallet = { // General AddEstablish: AdenaAddEstablish; + CheckConnection: AdenaCheckConnection; GetAccount: AdenaGetAccount; // Network diff --git a/packages/sdk/src/types/methods/general.ts b/packages/sdk/src/types/methods/general.ts index 0f519e5..87131b1 100644 --- a/packages/sdk/src/types/methods/general.ts +++ b/packages/sdk/src/types/methods/general.ts @@ -9,6 +9,16 @@ export type AddEstablishResponse = IAdenaResponse Promise; +export enum CheckConnectionResponseType { + WALLET_LOCKED = 'WALLET_LOCKED', + NOT_CONNECTED = 'NOT_CONNECTED', + ALREADY_CONNECTED = 'ALREADY_CONNECTED', +} + +export type CheckConnectionResponse = IAdenaResponse>; + +export type AdenaCheckConnection = (name: string) => Promise; + enum GetAccountResponseType { GET_ACCOUNT = 'GET_ACCOUNT', NO_ACCOUNT = 'NO_ACCOUNT',