@0xtld/tair-node
Version:
A Node.js package for Tair functionality with configuration, core, and helper modules.
42 lines (34 loc) • 896 B
text/typescript
import Web3 from "web3";
interface IWallet {
address: string;
privateKey: string;
}
enum WalletProviderType {
Eth = "eth",
Btc = "btc",
Solana = "solana",
}
class WalletProvider {
ethProvider: Web3;
constructor() {
this.ethProvider = new Web3();
}
createWallet(provider: WalletProviderType = WalletProviderType.Eth) {
switch (provider) {
case WalletProviderType.Eth:
return this.ethProvider.eth.accounts.create();
}
throw new Error("Not yet supported provider");
}
signMessage(
message: string,
wallet: IWallet,
provider: WalletProviderType = WalletProviderType.Eth
) {
if (provider === WalletProviderType.Eth) {
return this.ethProvider.eth.accounts.sign(message, wallet.privateKey).signature;
}
throw new Error("Not yet supported provider");
}
}
export { WalletProvider, WalletProviderType, IWallet };