UNPKG

@etherspot/prime-sdk

Version:

Etherspot Prime (Account Abstraction) SDK

29 lines (28 loc) 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.KeyWalletProvider = void 0; const ethers_1 = require("ethers"); class KeyWalletProvider { constructor(privateKey) { this.type = 'Key'; this.wallet = new ethers_1.Wallet(privateKey); const { address } = this.wallet; this.address = address; } async signMessage(message) { return this.wallet.signMessage(message); } async signTypedData(typedData, message, factoryAddress, initCode) { const { domain, types } = typedData; if (types["EIP712Domain"]) { delete typedData.types["EIP712Domain"]; } const signature = await this.wallet._signTypedData(domain, types, message); if (initCode !== '0x') { const abiCoderResult = ethers_1.utils.defaultAbiCoder.encode(['address', 'bytes', 'bytes'], [factoryAddress, initCode, signature]); return abiCoderResult + '6492649264926492649264926492649264926492649264926492649264926492'; } return signature; } } exports.KeyWalletProvider = KeyWalletProvider;