Skip to content

Commit

Permalink
fix(core): ensure correct this context in public callback methods (#…
Browse files Browse the repository at this point in the history
…152)

Convert public methods used as callbacks to arrow functions to preserve the `this` context across different usage scenarios.
  • Loading branch information
drichar authored Apr 2, 2024
1 parent e4dad7f commit 88e649f
Show file tree
Hide file tree
Showing 9 changed files with 25 additions and 25 deletions.
4 changes: 2 additions & 2 deletions packages/use-wallet/src/wallets/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,12 @@ export abstract class BaseWallet {
public abstract disconnect(): Promise<void>
public abstract resumeSession(): Promise<void>

public setActive(): void {
public setActive = (): void => {
console.info(`[Wallet] Set active wallet: ${this.id}`)
setActiveWallet(this.store, { walletId: this.id })
}

public setActiveAccount(account: string): void {
public setActiveAccount = (account: string): void => {
console.info(`[Wallet] Set active account: ${account}`)
setActiveAccount(this.store, {
walletId: this.id,
Expand Down
6 changes: 3 additions & 3 deletions packages/use-wallet/src/wallets/defly.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ export class DeflyWallet extends BaseWallet {
return client
}

public async connect(): Promise<WalletAccount[]> {
public connect = async (): Promise<WalletAccount[]> => {
console.info('[DeflyWallet] Connecting...')
try {
const client = this.client || (await this.initializeClient())
Expand Down Expand Up @@ -91,7 +91,7 @@ export class DeflyWallet extends BaseWallet {
}
}

public async disconnect(): Promise<void> {
public disconnect = async (): Promise<void> => {
console.info('[DeflyWallet] Disconnecting...')
try {
await this.client?.disconnect()
Expand All @@ -101,7 +101,7 @@ export class DeflyWallet extends BaseWallet {
}
}

public async resumeSession(): Promise<void> {
public resumeSession = async (): Promise<void> => {
try {
const state = this.store.state
const walletState = state.wallets[this.id]
Expand Down
6 changes: 3 additions & 3 deletions packages/use-wallet/src/wallets/exodus.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ export class ExodusWallet extends BaseWallet {
return client
}

public async connect(): Promise<WalletAccount[]> {
public connect = async (): Promise<WalletAccount[]> => {
console.info('[ExodusWallet] Connecting...')
try {
const client = this.client || (await this.initializeClient())
Expand Down Expand Up @@ -115,12 +115,12 @@ export class ExodusWallet extends BaseWallet {
}
}

public async disconnect(): Promise<void> {
public disconnect = async (): Promise<void> => {
console.info('[ExodusWallet] Disconnecting...')
this.onDisconnect()
}

public async resumeSession(): Promise<void> {
public resumeSession = async (): Promise<void> => {
try {
const state = this.store.state
const walletState = state.wallets[this.id]
Expand Down
6 changes: 3 additions & 3 deletions packages/use-wallet/src/wallets/kibisis.ts
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@ export class KibisisWallet extends BaseWallet {
}
}

public async connect(): Promise<WalletAccount[]> {
public connect = async (): Promise<WalletAccount[]> => {
console.info('[KibisisWallet] Connecting...')
try {
await this.getSupportedMethods()
Expand Down Expand Up @@ -417,12 +417,12 @@ export class KibisisWallet extends BaseWallet {
}
}

public async disconnect(): Promise<void> {
public disconnect = async (): Promise<void> => {
console.info('[KibisisWallet] Disconnecting...')
this.onDisconnect()
}

public resumeSession(): Promise<void> {
public resumeSession = (): Promise<void> => {
return Promise.resolve()
}

Expand Down
4 changes: 2 additions & 2 deletions packages/use-wallet/src/wallets/kmd.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ export class KmdWallet extends BaseWallet {
return client
}

public async connect(): Promise<WalletAccount[]> {
public connect = async (): Promise<WalletAccount[]> => {
console.info('[KmdWallet] Connecting...')
try {
if (!this.client) {
Expand Down Expand Up @@ -135,7 +135,7 @@ export class KmdWallet extends BaseWallet {
}
}

public async disconnect(): Promise<void> {
public disconnect = async (): Promise<void> => {
console.info('[KmdWallet] Disconnecting...')
this.onDisconnect()
}
Expand Down
6 changes: 3 additions & 3 deletions packages/use-wallet/src/wallets/lute.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ export class LuteWallet extends BaseWallet {
return genesisId
}

public async connect(): Promise<WalletAccount[]> {
public connect = async (): Promise<WalletAccount[]> => {
console.info('[LuteWallet] Connecting...')
try {
const client = this.client || (await this.initializeClient())
Expand Down Expand Up @@ -104,12 +104,12 @@ export class LuteWallet extends BaseWallet {
}
}

public async disconnect(): Promise<void> {
public disconnect = async (): Promise<void> => {
console.info('[LuteWallet] Disconnecting...')
this.onDisconnect()
}

public async resumeSession(): Promise<void> {
public resumeSession = async (): Promise<void> => {
try {
const state = this.store.state
const walletState = state.wallets[this.id]
Expand Down
6 changes: 3 additions & 3 deletions packages/use-wallet/src/wallets/mnemonic.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ export class MnemonicWallet extends BaseWallet {
return account
}

public async connect(): Promise<WalletAccount[]> {
public connect = async (): Promise<WalletAccount[]> => {
console.info('[MnemonicWallet] Connecting...')
try {
const account = this.initializeAccount()
Expand All @@ -74,7 +74,7 @@ export class MnemonicWallet extends BaseWallet {
}
}

public async disconnect(): Promise<void> {
public disconnect = async (): Promise<void> => {
console.info('[MnemonicWallet] Disconnecting...')
try {
this.account = null
Expand All @@ -84,7 +84,7 @@ export class MnemonicWallet extends BaseWallet {
}
}

public async resumeSession(): Promise<void> {
public resumeSession = async (): Promise<void> => {
const state = this.store.state
const walletState = state.wallets[this.id]

Expand Down
6 changes: 3 additions & 3 deletions packages/use-wallet/src/wallets/pera.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ export class PeraWallet extends BaseWallet {
return client
}

public async connect(): Promise<WalletAccount[]> {
public connect = async (): Promise<WalletAccount[]> => {
console.info('[PeraWallet] Connecting...')
try {
const client = this.client || (await this.initializeClient())
Expand Down Expand Up @@ -92,7 +92,7 @@ export class PeraWallet extends BaseWallet {
}
}

public async disconnect(): Promise<void> {
public disconnect = async (): Promise<void> => {
console.info('[PeraWallet] Disconnecting...')
try {
await this.client?.disconnect()
Expand All @@ -102,7 +102,7 @@ export class PeraWallet extends BaseWallet {
}
}

public async resumeSession(): Promise<void> {
public resumeSession = async (): Promise<void> => {
try {
const state = this.store.state
const walletState = state.wallets[this.id]
Expand Down
6 changes: 3 additions & 3 deletions packages/use-wallet/src/wallets/walletconnect.ts
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ export class WalletConnect extends BaseWallet {
return walletAccounts
}

public async connect(): Promise<WalletAccount[]> {
public connect = async (): Promise<WalletAccount[]> => {
console.info('[WalletConnect] Connecting...')
try {
const client = this.client || (await this.initializeClient())
Expand Down Expand Up @@ -201,7 +201,7 @@ export class WalletConnect extends BaseWallet {
}
}

public async disconnect(): Promise<void> {
public disconnect = async (): Promise<void> => {
console.info('[WalletConnect] Disconnecting...')
try {
if (this.client && this.session) {
Expand All @@ -216,7 +216,7 @@ export class WalletConnect extends BaseWallet {
}
}

public async resumeSession(): Promise<void> {
public resumeSession = async (): Promise<void> => {
try {
const state = this.store.state
const walletState = state.wallets[this.id]
Expand Down

0 comments on commit 88e649f

Please sign in to comment.