* feat: v2 wallet * feat: Web3Wallet sign integration * chore: adds `core` to package.json * feat: Web3Wallet Auth integration * chore: core & web3wallet canary * chore: rm config * chore: force redeploy * chore: rm core & sign-client deps * fix: rm `sign-client` usage * refactor: updates README * feat: adds metadata mock obj & removes relay url param * refactor: more url mentions * refactor: rm v2 wallet readme references & uses web3wallet.core... * refactor: wallet -> web3wallet * refactor: rm wallet to web3wallet * fix: adds async to example listeners
50 lines
934 B
TypeScript
50 lines
934 B
TypeScript
import { providers, Wallet } from 'ethers'
|
|
|
|
/**
|
|
* Types
|
|
*/
|
|
interface IInitArgs {
|
|
mnemonic?: string
|
|
}
|
|
|
|
/**
|
|
* Library
|
|
*/
|
|
export default class EIP155Lib {
|
|
wallet: Wallet
|
|
|
|
constructor(wallet: Wallet) {
|
|
this.wallet = wallet
|
|
}
|
|
|
|
static init({ mnemonic }: IInitArgs) {
|
|
const wallet = mnemonic ? Wallet.fromMnemonic(mnemonic) : Wallet.createRandom()
|
|
|
|
return new EIP155Lib(wallet)
|
|
}
|
|
|
|
getMnemonic() {
|
|
return this.wallet.mnemonic.phrase
|
|
}
|
|
|
|
getAddress() {
|
|
return this.wallet.address
|
|
}
|
|
|
|
signMessage(message: string) {
|
|
return this.wallet.signMessage(message)
|
|
}
|
|
|
|
_signTypedData(domain: any, types: any, data: any) {
|
|
return this.wallet._signTypedData(domain, types, data)
|
|
}
|
|
|
|
connect(provider: providers.JsonRpcProvider) {
|
|
return this.wallet.connect(provider)
|
|
}
|
|
|
|
signTransaction(transaction: providers.TransactionRequest) {
|
|
return this.wallet.signTransaction(transaction)
|
|
}
|
|
}
|