This repository has been archived on 2023-04-09. You can view files and clone it, but cannot push or open issues or pull requests.
2019-08-05 15:48:26 +00:00
|
|
|
import {PublicKey} from "./publicKey";
|
|
|
|
import {PrivateKey} from "./privateKey";
|
|
|
|
|
|
|
|
|
|
|
|
export class Keypair {
|
|
|
|
|
2019-11-27 20:58:41 +00:00
|
|
|
private readonly _publicKey: PublicKey;
|
2019-08-05 15:48:26 +00:00
|
|
|
|
2019-11-27 20:58:41 +00:00
|
|
|
private readonly _privateKey: PrivateKey;
|
2019-08-05 15:48:26 +00:00
|
|
|
|
|
|
|
public constructor(privateKey: PrivateKey, publicKey?: PublicKey) {
|
|
|
|
this._privateKey = privateKey;
|
|
|
|
if(!publicKey) {
|
|
|
|
this._publicKey = PublicKey.fromPrivateKey(this._privateKey);
|
|
|
|
} else {
|
|
|
|
this._publicKey = publicKey;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public get publicKey(): PublicKey {
|
|
|
|
return this._publicKey;
|
|
|
|
}
|
|
|
|
|
|
|
|
public get privateKey(): PrivateKey {
|
|
|
|
return this._privateKey;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static generate(): Keypair {
|
|
|
|
return new Keypair(PrivateKey.random());
|
|
|
|
}
|
|
|
|
}
|