@coinbase/agentkit
Version:
Coinbase AgentKit core primitives
35 lines (34 loc) • 1.09 kB
JavaScript
;
// TODO: Improve type safety
/* eslint-disable @typescript-eslint/no-explicit-any */
Object.defineProperty(exports, "__esModule", { value: true });
exports.EvmWalletProvider = void 0;
const accounts_1 = require("viem/accounts");
const walletProvider_1 = require("./walletProvider");
/**
* EvmWalletProvider is the abstract base class for all EVM wallet providers.
*
* @abstract
*/
class EvmWalletProvider extends walletProvider_1.WalletProvider {
/**
* Convert the wallet provider to a Signer.
*
* @returns The signer.
*/
toSigner() {
return (0, accounts_1.toAccount)({
address: this.getAddress(),
signMessage: async ({ message }) => {
return this.signMessage(message);
},
signTransaction: async (transaction) => {
return this.signTransaction(transaction);
},
signTypedData: async (typedData) => {
return this.signTypedData(typedData);
},
});
}
}
exports.EvmWalletProvider = EvmWalletProvider;