import RadixSignatureProvider from './RadixSignatureProvider' ; import RadixDecryptionProvider from './RadixDecryptionProvider' ; import RadixAccount from '../account/RadixAccount' ; import { RadixAddress , RadixAtom } from '../atommodel' ; export default abstract class RadixIdentity implements RadixSignatureProvider , RadixDecryptionProvider { constructor ( readonly address ) { this . account = new RadixAccount ( address ) ; this . account . enableDecryption ( this ) ; } public abstract signAtom ( atom ) ; public abstract decryptECIESPayload ( payload ) ; public abstract decryptECIESPayloadWithProtectors ( protectors , payload ) ; public abstract getPublicKey ( ) ; public account : RadixAccount ; }