Skip to content

Commit

Permalink
Removed signInMulti from inside the modules instead throw when decora…
Browse files Browse the repository at this point in the history
…ting wallet if it does not exist.
  • Loading branch information
kujtimprenkuSQA committed Jun 27, 2023
1 parent 72b83e5 commit 8121e5e
Show file tree
Hide file tree
Showing 22 changed files with 20 additions and 174 deletions.
8 changes: 0 additions & 8 deletions packages/coin98-wallet/src/lib/coin98-wallet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,14 +105,6 @@ const Coin98Wallet: WalletBehaviourFactory<InjectedWallet> = async ({
return getAccounts();
},

async signInMulti({ permissions }) {
logger.log("signInMulti", { permissions });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

async signOut() {
// Ignore if unsuccessful (returns false).
await _state.wallet.near.disconnect();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,10 @@ export class WalletModules {
};

wallet.signInMulti = async (params: never) => {
if (_signInMulti === undefined) {
throw Error(`Method not supported by ${wallet.metadata.name}.`);
}

const accounts = await _signInMulti(params);

const { permissions } = params as SignInMultiParams;
Expand Down
10 changes: 6 additions & 4 deletions packages/core/src/lib/wallet/wallet.types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ interface BaseWalletBehaviour {
/**
* Programmatically sign in with multiple contracts.
*/
signInMulti(params: SignInMultiParams): Promise<Array<Account>>;
signInMulti?(params: SignInMultiParams): Promise<Array<Account>>;
/**
* Sign out from the wallet.
*/
Expand Down Expand Up @@ -244,7 +244,7 @@ export type BrowserWalletBehaviour = Modify<
buildImportAccountsUrl?(): string;
importAccountsInSecureContext?: never;
signIn(params: BrowserWalletSignInParams): Promise<Array<Account>>;
signInMulti(
signInMulti?(
params: BrowserWalletSignInMultiParams
): Promise<Array<Account>>;
signAndSendTransaction(
Expand Down Expand Up @@ -339,7 +339,7 @@ export type HardwareWalletBehaviour = Modify<
BaseWalletBehaviour,
{
signIn(params: HardwareWalletSignInParams): Promise<Array<Account>>;
signInMulti(
signInMulti?(
params: HardwareWalletSignInMultiParams
): Promise<Array<Account>>;
}
Expand Down Expand Up @@ -377,7 +377,9 @@ export type BridgeWalletBehaviour = Modify<
BaseWalletBehaviour,
{
signIn(params: BridgeWalletSignInParams): Promise<Array<Account>>;
signInMulti(params: BridgeWalletSignInMultiParams): Promise<Array<Account>>;
signInMulti?(
params: BridgeWalletSignInMultiParams
): Promise<Array<Account>>;
}
>;

Expand Down
7 changes: 0 additions & 7 deletions packages/finer-wallet/src/lib/finer-injected.ts
Original file line number Diff line number Diff line change
Expand Up @@ -166,13 +166,6 @@ const FinerExtension: WalletBehaviourFactory<InjectedWallet> = async ({
return getAccounts();
},

async signInMulti({ permissions }) {
logger.log("signInMulti", { permissions });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},
signOut,

async getAccounts() {
Expand Down
18 changes: 2 additions & 16 deletions packages/here-wallet/src/lib/selector.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,8 @@ import type BN from "bn.js";
import type { SelectorInit } from "./types";

export const initHereWallet: SelectorInit = async (config) => {
const {
store,
logger,
emitter,
options,
defaultProvider,
defaultStrategy,
metadata,
} = config;
const { store, logger, emitter, options, defaultProvider, defaultStrategy } =
config;

const here = new HereWallet({
networkId: options.network.networkId as NetworkId,
Expand Down Expand Up @@ -85,13 +78,6 @@ export const initHereWallet: SelectorInit = async (config) => {

return await getAccounts();
},
async signInMulti({ permissions }) {
logger.log("signInMulti", { permissions });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

async getHereBalance() {
logger.log("HereWallet:getHereBalance");
Expand Down
8 changes: 0 additions & 8 deletions packages/ledger/src/lib/ledger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -216,14 +216,6 @@ const Ledger: WalletBehaviourFactory<HardwareWallet> = async ({
return getAccounts();
},

async signInMulti({ permissions, accounts }) {
logger.log("signInMulti", { permissions, accounts });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

signOut,

async getAccounts() {
Expand Down
8 changes: 0 additions & 8 deletions packages/math-wallet/src/lib/math-wallet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,14 +101,6 @@ const MathWallet: WalletBehaviourFactory<InjectedWallet> = async ({
return getAccounts();
},

async signInMulti({ permissions }) {
logger.log("signInMulti", { permissions });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

async signOut() {
// Ignore if unsuccessful (returns false).
await _state.wallet.logout();
Expand Down
10 changes: 1 addition & 9 deletions packages/meteor-wallet/src/lib/meteor-wallet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ const setupWalletState = async (
const createMeteorWalletInjected: WalletBehaviourFactory<
InjectedWallet,
{ params: MeteorWalletParams_Injected }
> = async ({ options, logger, store, params, metadata }) => {
> = async ({ options, logger, store, params }) => {
const _state = await setupWalletState(params, options.network);

const getAccounts = async (): Promise<Array<Account>> => {
Expand Down Expand Up @@ -130,14 +130,6 @@ const createMeteorWalletInjected: WalletBehaviourFactory<
return getAccounts();
},

async signInMulti({ permissions }) {
logger.log("signInMulti", { permissions });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

async signOut() {
if (_state.wallet.isSignedIn()) {
await _state.wallet.signOut();
Expand Down
6 changes: 3 additions & 3 deletions packages/modal-ui-js/src/lib/render-modal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ export async function connectToWallet(
});

if (modalState.options.contracts) {
await wallet.signInMulti({
await wallet.signInMulti!({
permissions: modalState.options.contracts,
qrCodeModal,
});
Expand All @@ -146,7 +146,7 @@ export async function connectToWallet(

if (wallet.type === "browser") {
if (modalState.options.contracts) {
await wallet.signInMulti({
await wallet.signInMulti!({
permissions: modalState.options.contracts,
successUrl: wallet.metadata.successUrl,
failureUrl: wallet.metadata.failureUrl,
Expand All @@ -167,7 +167,7 @@ export async function connectToWallet(
}

if (modalState.options.contracts) {
await wallet.signInMulti({
await wallet.signInMulti!({
permissions: modalState.options.contracts,
});
} else {
Expand Down
6 changes: 3 additions & 3 deletions packages/modal-ui/src/lib/components/Modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ export const Modal: React.FC<ModalProps> = ({
});

if (options.contracts) {
await wallet.signInMulti({
await wallet.signInMulti!({
permissions: options.contracts,
qrCodeModal,
});
Expand All @@ -213,7 +213,7 @@ export const Modal: React.FC<ModalProps> = ({

if (wallet.type === "browser") {
if (options.contracts) {
await wallet.signInMulti({
await wallet.signInMulti!({
permissions: options.contracts,
successUrl: wallet.metadata.successUrl,
failureUrl: wallet.metadata.failureUrl,
Expand All @@ -233,7 +233,7 @@ export const Modal: React.FC<ModalProps> = ({
}

if (options.contracts) {
await wallet.signInMulti({
await wallet.signInMulti!({
permissions: options.contracts,
});
} else {
Expand Down
8 changes: 0 additions & 8 deletions packages/my-near-wallet/src/lib/my-near-wallet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -146,14 +146,6 @@ const MyNearWallet: WalletBehaviourFactory<
return getAccounts();
},

async signInMulti({ permissions, successUrl, failureUrl }) {
logger.log("signInMulti", { permissions, successUrl, failureUrl });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

async signOut() {
if (_state.wallet.isSignedIn()) {
_state.wallet.signOut();
Expand Down
8 changes: 0 additions & 8 deletions packages/narwallets/src/lib/narwallets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -221,14 +221,6 @@ const Narwallets: WalletBehaviourFactory<InjectedWallet> = async ({
return [{ accountId: response }];
},

async signInMulti({ permissions }) {
logger.log("signInMulti", { permissions });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

signOut,

async getAccounts(): Promise<Array<Account>> {
Expand Down
9 changes: 0 additions & 9 deletions packages/near-snap/src/lib/near-snap.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ const NearSnapWallet: WalletBehaviourFactory<InjectedWallet> = async ({
provider,
store,
metadata,
logger,
}) => {
const network = options.network.networkId as "testnet" | "mainnet";

Expand All @@ -25,14 +24,6 @@ const NearSnapWallet: WalletBehaviourFactory<InjectedWallet> = async ({
return await getSnapAccounts(isDev, network);
},

async signInMulti({ permissions }) {
logger.log("signInMulti", { permissions });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

async signOut() {
// Nothing to do here!!
},
Expand Down
8 changes: 0 additions & 8 deletions packages/nearfi/src/lib/nearfi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -159,14 +159,6 @@ const NearFi: WalletBehaviourFactory<InjectedWallet> = async ({
return await getAccounts();
},

async signInMulti({ permissions }) {
logger.log("signInMulti", { permissions });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

signOut,

async getAccounts() {
Expand Down
8 changes: 0 additions & 8 deletions packages/neth/src/lib/neth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -142,14 +142,6 @@ const Neth: WalletBehaviourFactory<InjectedWallet> = async ({
return [account];
},

async signInMulti({ permissions }) {
logger.log("signInMulti", { permissions });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

async signOut() {
await signOut();
},
Expand Down
8 changes: 0 additions & 8 deletions packages/nightly-connect/src/lib/nightly-connect.ts
Original file line number Diff line number Diff line change
Expand Up @@ -214,14 +214,6 @@ const NightlyConnect: WalletBehaviourFactory<
});
},

async signInMulti({ permissions, qrCodeModal = true }) {
logger.log("signInMulti", { permissions, qrCodeModal });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

signOut,

async getAccounts() {
Expand Down
8 changes: 0 additions & 8 deletions packages/nightly/src/lib/nightly.ts
Original file line number Diff line number Diff line change
Expand Up @@ -171,14 +171,6 @@ const Nightly: WalletBehaviourFactory<InjectedWallet> = async ({
return getAccounts();
},

async signInMulti({ permissions }) {
logger.log("signInMulti", { permissions });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

async signOut() {
await _state.wallet.disconnect();
},
Expand Down
8 changes: 0 additions & 8 deletions packages/opto-wallet/src/lib/opto-wallet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -150,14 +150,6 @@ const OptoWallet: WalletBehaviourFactory<
return getAccounts();
},

async signInMulti({ permissions }) {
logger.log("signInMulti", { permissions });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

async signOut() {
if (_state.wallet.isSignedIn()) {
_state.wallet.signOut();
Expand Down
8 changes: 0 additions & 8 deletions packages/sender/src/lib/sender.ts
Original file line number Diff line number Diff line change
Expand Up @@ -190,14 +190,6 @@ const Sender: WalletBehaviourFactory<InjectedWallet> = async ({
return await getAccounts();
},

async signInMulti({ permissions }) {
logger.log("signInMulti", { permissions });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

signOut,

async getAccounts() {
Expand Down
19 changes: 1 addition & 18 deletions packages/wallet-connect/src/lib/wallet-connect.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,16 +102,7 @@ const setupWalletConnectState = async (
const WalletConnect: WalletBehaviourFactory<
BridgeWallet,
{ params: WalletConnectExtraOptions }
> = async ({
id,
options,
store,
params,
provider,
emitter,
logger,
metadata,
}) => {
> = async ({ id, options, store, params, provider, emitter, logger }) => {
const _state = await setupWalletConnectState(id, params, emitter);

const getChainId = () => {
Expand Down Expand Up @@ -519,14 +510,6 @@ const WalletConnect: WalletBehaviourFactory<
}
},

async signInMulti({ permissions }) {
logger.log("signInMulti", { permissions });

throw new Error(
`The signInMulti method is not supported by ${metadata.name}`
);
},

signOut,

async getAccounts() {
Expand Down
Loading

0 comments on commit 8121e5e

Please sign in to comment.