@thirdweb-dev/wallets
Version:
<p align="center"> <br /> <a href="https://thirdweb.com"><img src="https://github.com/thirdweb-dev/js/blob/main/packages/sdk/logo.svg?raw=true" width="200" alt=""/></a> <br /> </p> <h1 align="center">thirdweb Wallet SDK</h1> <p align="center"> <a href="ht
68 lines (60 loc) • 1.84 kB
JavaScript
'use strict';
var EventEmitter = require('eventemitter3');
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
var EventEmitter__default = /*#__PURE__*/_interopDefault(EventEmitter);
class Connector extends EventEmitter__default["default"] {}
// eslint-disable-next-line @typescript-eslint/ban-types
class WagmiAdapter extends Connector {
constructor(wagmiConnector) {
super();
this.wagmiConnector = wagmiConnector;
}
async connect(args) {
this.setupConnectorListeners();
const result = await this.wagmiConnector.connect(args);
return result.account;
}
disconnect() {
this.wagmiConnector.removeAllListeners("connect");
this.wagmiConnector.removeAllListeners("change");
return this.wagmiConnector.disconnect();
}
isConnected() {
return this.wagmiConnector.isAuthorized();
}
getAddress() {
return this.wagmiConnector.getAccount();
}
getSigner() {
return this.wagmiConnector.getSigner();
}
getProvider() {
return this.wagmiConnector.getProvider();
}
async switchChain(chainId) {
if (!this.wagmiConnector.switchChain) {
throw new Error("Switch chain not supported");
}
await this.wagmiConnector.switchChain(chainId);
}
setupConnectorListeners() {
this.wagmiConnector.addListener("connect", data => {
this.emit("connect", data);
});
this.wagmiConnector.addListener("change", data => {
this.emit("change", data);
});
this.wagmiConnector.addListener("disconnect", () => {
this.emit("disconnect");
});
}
async setupListeners() {
this.setupConnectorListeners();
await this.wagmiConnector.setupListeners();
}
updateChains(chains) {
this.wagmiConnector.updateChains(chains);
}
}
exports.Connector = Connector;
exports.WagmiAdapter = WagmiAdapter;