dotbit
Version:
A complete .bit SDK and utilities in TypeScript
35 lines (23 loc) • 996 B
text/typescript
import { JsonRpcSigner, Wallet } from 'ethers'
import { CoinType } from '../const'
import { SignTxListParams, SignTxListRes } from '../fetchers/RegisterAPI.type'
import { TypedMessage, MessageTypes } from '@metamask/eth-sig-util'
export interface SendTransactionParam {
to: string,
value: string,
data: string,
}
export abstract class BitSigner {
signer: JsonRpcSigner | Wallet
constructor (signer: JsonRpcSigner | Wallet) {
this.signer = signer
}
abstract signTypedData (data: TypedMessage<MessageTypes>): Promise<string>
abstract sendTransaction (sendTransactionParam: SendTransactionParam): Promise<string>
abstract signPersonal (data: string| Buffer): Promise<string>
abstract getAddress (): Promise<string>
abstract getChainId (): Promise<number>
abstract getCoinType (): Promise<CoinType>
abstract signData (data: string | Buffer | object, isEIP712?: boolean): Promise<string>
abstract signTxList (txs: SignTxListParams): Promise<SignTxListRes>
}