Format docs using linter and prettier.
This commit is contained in:
@@ -682,7 +682,7 @@ Returns "true" for available and "false" otherwise.</p>
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import Web3 from 'web3';
|
||||
|
||||
// Application imports
|
||||
import {environment} from '@src/environments/environment';
|
||||
import { environment } from '@src/environments/environment';
|
||||
|
||||
/** Fetch the account registry contract's ABI. */
|
||||
const abi: Array<any> = require('@src/assets/js/block-sync/data/AccountRegistry.json');
|
||||
@@ -735,8 +735,8 @@ export class AccountIndex {
|
||||
* @returns true - If registration is successful or account had already been registered.
|
||||
*/
|
||||
public async addToAccountRegistry(address: string): Promise<boolean> {
|
||||
if (!await this.haveAccount(address)) {
|
||||
return await this.contract.methods.add(address).send({from: this.signerAddress});
|
||||
if (!(await this.haveAccount(address))) {
|
||||
return await this.contract.methods.add(address).send({ from: this.signerAddress });
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -756,7 +756,7 @@ export class AccountIndex {
|
||||
* @returns true - If the address has been registered in the accounts registry.
|
||||
*/
|
||||
public async haveAccount(address: string): Promise<boolean> {
|
||||
return await this.contract.methods.accountIndex(address).call() !== 0;
|
||||
return (await this.contract.methods.accountIndex(address).call()) !== 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -260,7 +260,7 @@
|
||||
|
||||
|
||||
<div class="tab-pane fade tab-source-code" id="c-source">
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {AccountDetails} from '@app/_models/account';
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { AccountDetails } from '@app/_models/account';
|
||||
|
||||
class BlocksBloom {
|
||||
low: number;
|
||||
@@ -305,13 +305,7 @@ class Conversion {
|
||||
tx: Tx;
|
||||
}
|
||||
|
||||
export {
|
||||
BlocksBloom,
|
||||
TxToken,
|
||||
Tx,
|
||||
Transaction,
|
||||
Conversion
|
||||
};
|
||||
export { BlocksBloom, TxToken, Tx, Transaction, Conversion };
|
||||
</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -320,7 +320,7 @@
|
||||
|
||||
|
||||
<div class="tab-pane fade tab-source-code" id="c-source">
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {AccountDetails} from '@app/_models/account';
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { AccountDetails } from '@app/_models/account';
|
||||
|
||||
class BlocksBloom {
|
||||
low: number;
|
||||
@@ -365,13 +365,7 @@ class Conversion {
|
||||
tx: Tx;
|
||||
}
|
||||
|
||||
export {
|
||||
BlocksBloom,
|
||||
TxToken,
|
||||
Tx,
|
||||
Transaction,
|
||||
Conversion
|
||||
};
|
||||
export { BlocksBloom, TxToken, Tx, Transaction, Conversion };
|
||||
</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -79,11 +79,6 @@
|
||||
<code>ErrorStateMatcher</code>
|
||||
</p>
|
||||
|
||||
<p class="comment">
|
||||
<h3>Example</h3>
|
||||
</p>
|
||||
<div class="io-description">
|
||||
</div>
|
||||
|
||||
<section>
|
||||
<h3 id="index">Index</h3>
|
||||
@@ -142,8 +137,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="18"
|
||||
class="link-to-prism">src/app/_helpers/custom-error-state-matcher.ts:18</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="17"
|
||||
class="link-to-prism">src/app/_helpers/custom-error-state-matcher.ts:17</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -228,15 +223,14 @@
|
||||
|
||||
|
||||
<div class="tab-pane fade tab-source-code" id="c-source">
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {FormControl, FormGroupDirective, NgForm} from '@angular/forms';
|
||||
import {ErrorStateMatcher} from '@angular/material/core';
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { ErrorStateMatcher } from '@angular/material/core';
|
||||
import { FormControl, FormGroupDirective, NgForm } from '@angular/forms';
|
||||
|
||||
/**
|
||||
* Custom provider that defines how form controls behave with regards to displaying error messages.
|
||||
*
|
||||
* @implements ErrorStateMatcher
|
||||
*/
|
||||
export class CustomErrorStateMatcher implements ErrorStateMatcher{
|
||||
export class CustomErrorStateMatcher implements ErrorStateMatcher {
|
||||
/**
|
||||
* Checks whether an invalid input has been made and an error should be made.
|
||||
*
|
||||
|
||||
@@ -305,7 +305,7 @@
|
||||
|
||||
|
||||
<div class="tab-pane fade tab-source-code" id="c-source">
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {AbstractControl, ValidationErrors} from '@angular/forms';
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { AbstractControl, ValidationErrors } from '@angular/forms';
|
||||
|
||||
/**
|
||||
* Provides methods to perform custom validation to form inputs.
|
||||
|
||||
@@ -241,12 +241,12 @@
|
||||
|
||||
|
||||
<div class="tab-pane fade tab-source-code" id="c-source">
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {HttpErrorResponse} from '@angular/common/http';
|
||||
import {ErrorHandler, Injectable} from '@angular/core';
|
||||
import {Router} from '@angular/router';
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { HttpErrorResponse } from '@angular/common/http';
|
||||
import { ErrorHandler, Injectable } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
// Application imports
|
||||
import {LoggingService} from '@app/_services/logging.service';
|
||||
import { LoggingService } from '@app/_services/logging.service';
|
||||
|
||||
/**
|
||||
* A generalized http response error.
|
||||
@@ -279,7 +279,6 @@ export class HttpError extends Error {
|
||||
export class GlobalErrorHandler extends ErrorHandler {
|
||||
/**
|
||||
* An array of sentence sections that denote warnings.
|
||||
* @private
|
||||
*/
|
||||
private sentencesForWarningLogging: Array<string> = [];
|
||||
|
||||
@@ -289,10 +288,7 @@ export class GlobalErrorHandler extends ErrorHandler {
|
||||
* @param loggingService - A service that provides logging capabilities.
|
||||
* @param router - A service that provides navigation among views and URL manipulation capabilities.
|
||||
*/
|
||||
constructor(
|
||||
private loggingService: LoggingService,
|
||||
private router: Router
|
||||
) {
|
||||
constructor(private loggingService: LoggingService, private router: Router) {
|
||||
super();
|
||||
}
|
||||
|
||||
@@ -313,9 +309,9 @@ export class GlobalErrorHandler extends ErrorHandler {
|
||||
|
||||
const isWarning: boolean = this.isWarning(errorTraceString);
|
||||
if (isWarning) {
|
||||
this.loggingService.sendWarnLevelMessage(errorTraceString, {error});
|
||||
this.loggingService.sendWarnLevelMessage(errorTraceString, { error });
|
||||
} else {
|
||||
this.loggingService.sendErrorLevelMessage(errorTraceString, this, {error});
|
||||
this.loggingService.sendErrorLevelMessage(errorTraceString, this, { error });
|
||||
}
|
||||
|
||||
throw error;
|
||||
@@ -326,7 +322,6 @@ export class GlobalErrorHandler extends ErrorHandler {
|
||||
*
|
||||
* @param errorTraceString - A description of the error and it's stack trace.
|
||||
* @returns true - If the error is of type warning.
|
||||
* @private
|
||||
*/
|
||||
private isWarning(errorTraceString: string): boolean {
|
||||
let isWarning: boolean = true;
|
||||
@@ -352,14 +347,30 @@ export class GlobalErrorHandler extends ErrorHandler {
|
||||
const route: string = this.router.url;
|
||||
if (error instanceof HttpErrorResponse) {
|
||||
this.loggingService.sendErrorLevelMessage(
|
||||
`There was an HTTP error on route ${route}.\n${error.message}.\nStatus code: ${(error as HttpErrorResponse).status}`,
|
||||
this, {error});
|
||||
`There was an HTTP error on route ${route}.\n${error.message}.\nStatus code: ${
|
||||
(error as HttpErrorResponse).status
|
||||
}`,
|
||||
this,
|
||||
{ error }
|
||||
);
|
||||
} else if (error instanceof TypeError) {
|
||||
this.loggingService.sendErrorLevelMessage(`There was a Type error on route ${route}.\n${error.message}`, this, {error});
|
||||
this.loggingService.sendErrorLevelMessage(
|
||||
`There was a Type error on route ${route}.\n${error.message}`,
|
||||
this,
|
||||
{ error }
|
||||
);
|
||||
} else if (error instanceof Error) {
|
||||
this.loggingService.sendErrorLevelMessage(`There was a general error on route ${route}.\n${error.message}`, this, {error});
|
||||
this.loggingService.sendErrorLevelMessage(
|
||||
`There was a general error on route ${route}.\n${error.message}`,
|
||||
this,
|
||||
{ error }
|
||||
);
|
||||
} else {
|
||||
this.loggingService.sendErrorLevelMessage(`Nobody threw an error but something happened on route ${route}!`, this, {error});
|
||||
this.loggingService.sendErrorLevelMessage(
|
||||
`Nobody threw an error but something happened on route ${route}!`,
|
||||
this,
|
||||
{ error }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,11 +72,6 @@
|
||||
<code><a href="../interfaces/MutableKeyStore.html" target="_self" >MutableKeyStore</a></code>
|
||||
</p>
|
||||
|
||||
<p class="comment">
|
||||
<h3>Example</h3>
|
||||
</p>
|
||||
<div class="io-description">
|
||||
</div>
|
||||
|
||||
<section>
|
||||
<h3 id="index">Index</h3>
|
||||
@@ -213,8 +208,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="148"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:148</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="149"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:149</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -252,8 +247,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="72"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:72</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="65"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:65</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -291,8 +286,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="100"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:100</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="93"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:93</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -330,8 +325,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="106"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:106</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="103"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:103</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -400,8 +395,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="115"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:115</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="116"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:116</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -470,8 +465,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="80"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:80</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="73"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:73</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -509,8 +504,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="123"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:123</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="124"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:124</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -575,8 +570,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="110"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:110</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="107"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:107</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -614,8 +609,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="76"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:76</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="69"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:69</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -653,8 +648,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="119"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:119</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="120"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:120</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -719,8 +714,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="127"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:127</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="128"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:128</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -785,8 +780,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="60"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:60</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="53"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:53</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -824,8 +819,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="131"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:131</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="132"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:132</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -890,8 +885,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="68"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:68</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="61"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:61</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -929,8 +924,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="64"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:64</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="57"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:57</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -970,8 +965,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="47"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:47</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="40"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:40</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1054,8 +1049,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="56"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:56</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="49"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:49</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1124,8 +1119,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="52"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:52</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="45"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:45</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1196,8 +1191,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="90"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:90</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="83"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:83</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1268,8 +1263,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="84"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:84</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="77"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:77</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1336,8 +1331,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="42"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:42</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="35"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:35</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1375,8 +1370,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="135"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:135</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="136"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:136</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1441,8 +1436,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="143"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:143</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="144"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:144</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1511,8 +1506,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="139"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:139</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="140"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:140</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1579,8 +1574,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="152"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:152</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="153"
|
||||
class="link-to-prism">src/app/_pgp/pgp-key-store.ts:153</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1638,9 +1633,6 @@
|
||||
import * as openpgp from 'openpgp';
|
||||
const keyring = new openpgp.Keyring();
|
||||
|
||||
/**
|
||||
* @extends
|
||||
*/
|
||||
interface MutableKeyStore extends KeyStore {
|
||||
loadKeyring(): void;
|
||||
importKeyPair(publicKey: any, privateKey: any): Promise<void>;
|
||||
@@ -1669,11 +1661,7 @@ interface MutableKeyStore extends KeyStore {
|
||||
sign(plainText: string): Promise<any>;
|
||||
}
|
||||
|
||||
/**
|
||||
* @implements
|
||||
*/
|
||||
class MutablePgpKeyStore implements MutableKeyStore{
|
||||
|
||||
class MutablePgpKeyStore implements MutableKeyStore {
|
||||
async loadKeyring(): Promise<void> {
|
||||
await keyring.load();
|
||||
await keyring.store();
|
||||
@@ -1718,8 +1706,8 @@ class MutablePgpKeyStore implements MutableKeyStore{
|
||||
|
||||
async isValidKey(key): Promise<boolean> {
|
||||
// There is supposed to be an openpgp.readKey() method but I can't find it?
|
||||
const _key = await openpgp.key.readArmored(key);
|
||||
return !_key.err;
|
||||
const testKey = await openpgp.key.readArmored(key);
|
||||
return !testKey.err;
|
||||
}
|
||||
|
||||
async isEncryptedPrivateKey(privateKey: any): Promise<boolean> {
|
||||
@@ -1734,8 +1722,12 @@ class MutablePgpKeyStore implements MutableKeyStore{
|
||||
|
||||
getFingerprint(): string {
|
||||
// TODO Handle multiple keys
|
||||
return keyring.privateKeys && keyring.privateKeys.keys[0] && keyring.privateKeys.keys[0].keyPacket &&
|
||||
keyring.privateKeys.keys[0].keyPacket.fingerprint;
|
||||
return (
|
||||
keyring.privateKeys &&
|
||||
keyring.privateKeys.keys[0] &&
|
||||
keyring.privateKeys.keys[0].keyPacket &&
|
||||
keyring.privateKeys.keys[0].keyPacket.fingerprint
|
||||
);
|
||||
}
|
||||
|
||||
getKeyId(key: any): string {
|
||||
@@ -1744,7 +1736,11 @@ class MutablePgpKeyStore implements MutableKeyStore{
|
||||
|
||||
getPrivateKeyId(): string {
|
||||
// TODO is there a library that comes with angular for doing this?
|
||||
return keyring.privateKeys && keyring.privateKeys.keys[0] && keyring.privateKeys.keys[0].getKeyId().toHex();
|
||||
return (
|
||||
keyring.privateKeys &&
|
||||
keyring.privateKeys.keys[0] &&
|
||||
keyring.privateKeys.keys[0].getKeyId().toHex()
|
||||
);
|
||||
}
|
||||
|
||||
getKeysForId(keyId: string): Array<any> {
|
||||
@@ -1776,7 +1772,7 @@ class MutablePgpKeyStore implements MutableKeyStore{
|
||||
}
|
||||
|
||||
removePublicKey(publicKey: any): any {
|
||||
const keyId = publicKey.getKeyId().toHex();
|
||||
const keyId = publicKey.getKeyId().toHex();
|
||||
return keyring.publicKeys.removeForId(keyId);
|
||||
}
|
||||
|
||||
@@ -1800,10 +1796,7 @@ class MutablePgpKeyStore implements MutableKeyStore{
|
||||
}
|
||||
}
|
||||
|
||||
export {
|
||||
MutablePgpKeyStore,
|
||||
MutableKeyStore
|
||||
};
|
||||
export { MutablePgpKeyStore, MutableKeyStore };
|
||||
</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -161,7 +161,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="35" class="link-to-prism">src/app/_pgp/pgp-signer.ts:35</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="34" class="link-to-prism">src/app/_pgp/pgp-signer.ts:34</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="29" class="link-to-prism">src/app/_pgp/pgp-signer.ts:29</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="28" class="link-to-prism">src/app/_pgp/pgp-signer.ts:28</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -256,7 +256,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="30" class="link-to-prism">src/app/_pgp/pgp-signer.ts:30</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="29" class="link-to-prism">src/app/_pgp/pgp-signer.ts:29</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -288,7 +288,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="28" class="link-to-prism">src/app/_pgp/pgp-signer.ts:28</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="27" class="link-to-prism">src/app/_pgp/pgp-signer.ts:27</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -315,7 +315,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="32" class="link-to-prism">src/app/_pgp/pgp-signer.ts:32</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="31" class="link-to-prism">src/app/_pgp/pgp-signer.ts:31</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -342,7 +342,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="35" class="link-to-prism">src/app/_pgp/pgp-signer.ts:35</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="34" class="link-to-prism">src/app/_pgp/pgp-signer.ts:34</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -369,7 +369,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="33" class="link-to-prism">src/app/_pgp/pgp-signer.ts:33</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="32" class="link-to-prism">src/app/_pgp/pgp-signer.ts:32</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -396,7 +396,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="34" class="link-to-prism">src/app/_pgp/pgp-signer.ts:34</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="33" class="link-to-prism">src/app/_pgp/pgp-signer.ts:33</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -423,7 +423,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="31" class="link-to-prism">src/app/_pgp/pgp-signer.ts:31</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="30" class="link-to-prism">src/app/_pgp/pgp-signer.ts:30</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -461,8 +461,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="43"
|
||||
class="link-to-prism">src/app/_pgp/pgp-signer.ts:43</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="42"
|
||||
class="link-to-prism">src/app/_pgp/pgp-signer.ts:42</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -502,8 +502,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="47"
|
||||
class="link-to-prism">src/app/_pgp/pgp-signer.ts:47</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="46"
|
||||
class="link-to-prism">src/app/_pgp/pgp-signer.ts:46</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -575,8 +575,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="77"
|
||||
class="link-to-prism">src/app/_pgp/pgp-signer.ts:77</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="83"
|
||||
class="link-to-prism">src/app/_pgp/pgp-signer.ts:83</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -647,8 +647,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="52"
|
||||
class="link-to-prism">src/app/_pgp/pgp-signer.ts:52</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="51"
|
||||
class="link-to-prism">src/app/_pgp/pgp-signer.ts:51</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -717,8 +717,8 @@
|
||||
|
||||
|
||||
<div class="tab-pane fade tab-source-code" id="c-source">
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {MutableKeyStore} from '@app/_pgp/pgp-key-store';
|
||||
import {LoggingService} from '@app/_services/logging.service';
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { MutableKeyStore } from '@app/_pgp/pgp-key-store';
|
||||
import { LoggingService } from '@app/_services/logging.service';
|
||||
|
||||
const openpgp = require('openpgp');
|
||||
|
||||
@@ -726,12 +726,12 @@ interface Signable {
|
||||
digest(): string;
|
||||
}
|
||||
|
||||
type Signature = {
|
||||
engine: string
|
||||
algo: string
|
||||
data: string
|
||||
interface Signature {
|
||||
engine: string;
|
||||
algo: string;
|
||||
data: string;
|
||||
digest: string;
|
||||
};
|
||||
}
|
||||
|
||||
interface Signer {
|
||||
onsign(signature: Signature): void;
|
||||
@@ -743,7 +743,6 @@ interface Signer {
|
||||
}
|
||||
|
||||
class PGPSigner implements Signer {
|
||||
|
||||
engine = 'pgp';
|
||||
algo = 'sha256';
|
||||
dgst: string;
|
||||
@@ -769,28 +768,35 @@ class PGPSigner implements Signer {
|
||||
}
|
||||
|
||||
public verify(digest: string, signature: Signature): void {
|
||||
openpgp.signature.readArmored(signature.data).then((sig) => {
|
||||
const opts = {
|
||||
message: openpgp.cleartext.fromText(digest),
|
||||
publicKeys: this.keyStore.getTrustedKeys(),
|
||||
signature: sig,
|
||||
};
|
||||
openpgp.verify(opts).then((v) => {
|
||||
let i = 0;
|
||||
for (i = 0; i < v.signatures.length; i++) {
|
||||
const s = v.signatures[i];
|
||||
if (s.valid) {
|
||||
this.onverify(s);
|
||||
return;
|
||||
openpgp.signature
|
||||
.readArmored(signature.data)
|
||||
.then((sig) => {
|
||||
const opts = {
|
||||
message: openpgp.cleartext.fromText(digest),
|
||||
publicKeys: this.keyStore.getTrustedKeys(),
|
||||
signature: sig,
|
||||
};
|
||||
openpgp.verify(opts).then((v) => {
|
||||
let i = 0;
|
||||
for (i = 0; i < v.signatures.length; i++) {
|
||||
const s = v.signatures[i];
|
||||
if (s.valid) {
|
||||
this.onverify(s);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.loggingService.sendErrorLevelMessage(`Checked ${i} signature(s) but none valid`, this, {error: '404 Not found!'});
|
||||
this.loggingService.sendErrorLevelMessage(
|
||||
`Checked ${i} signature(s) but none valid`,
|
||||
this,
|
||||
{ error: '404 Not found!' }
|
||||
);
|
||||
this.onverify(false);
|
||||
});
|
||||
})
|
||||
.catch((e) => {
|
||||
this.loggingService.sendErrorLevelMessage(e.message, this, { error: e });
|
||||
this.onverify(false);
|
||||
});
|
||||
}).catch((e) => {
|
||||
this.loggingService.sendErrorLevelMessage(e.message, this, {error: e});
|
||||
this.onverify(false);
|
||||
});
|
||||
}
|
||||
|
||||
public async sign(digest: string): Promise<void> {
|
||||
@@ -805,28 +811,26 @@ class PGPSigner implements Signer {
|
||||
privateKeys: [pk],
|
||||
detached: true,
|
||||
};
|
||||
openpgp.sign(opts).then((s) => {
|
||||
this.signature = {
|
||||
engine: this.engine,
|
||||
algo: this.algo,
|
||||
data: s.signature,
|
||||
// TODO: fix for browser later
|
||||
digest,
|
||||
};
|
||||
this.onsign(this.signature);
|
||||
}).catch((e) => {
|
||||
this.loggingService.sendErrorLevelMessage(e.message, this, {error: e});
|
||||
this.onsign(undefined);
|
||||
});
|
||||
openpgp
|
||||
.sign(opts)
|
||||
.then((s) => {
|
||||
this.signature = {
|
||||
engine: this.engine,
|
||||
algo: this.algo,
|
||||
data: s.signature,
|
||||
// TODO: fix for browser later
|
||||
digest,
|
||||
};
|
||||
this.onsign(this.signature);
|
||||
})
|
||||
.catch((e) => {
|
||||
this.loggingService.sendErrorLevelMessage(e.message, this, { error: e });
|
||||
this.onsign(undefined);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export {
|
||||
Signable,
|
||||
Signature,
|
||||
Signer,
|
||||
PGPSigner
|
||||
};
|
||||
export { Signable, Signature, Signer, PGPSigner };
|
||||
</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -305,10 +305,7 @@ class W3 {
|
||||
provider: any;
|
||||
}
|
||||
|
||||
export {
|
||||
Settings,
|
||||
W3
|
||||
};
|
||||
export { Settings, W3 };
|
||||
</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -151,7 +151,7 @@ Allows querying of tokens that have been registered as valid tokens in the netwo
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="26" class="link-to-prism">src/app/_eth/token-registry.ts:26</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="25" class="link-to-prism">src/app/_eth/token-registry.ts:25</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -241,7 +241,7 @@ Allows querying of tokens that have been registered as valid tokens in the netwo
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="22" class="link-to-prism">src/app/_eth/token-registry.ts:22</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="21" class="link-to-prism">src/app/_eth/token-registry.ts:21</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -274,7 +274,7 @@ Allows querying of tokens that have been registered as valid tokens in the netwo
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="24" class="link-to-prism">src/app/_eth/token-registry.ts:24</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="23" class="link-to-prism">src/app/_eth/token-registry.ts:23</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -307,7 +307,7 @@ Allows querying of tokens that have been registered as valid tokens in the netwo
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="26" class="link-to-prism">src/app/_eth/token-registry.ts:26</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="25" class="link-to-prism">src/app/_eth/token-registry.ts:25</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -352,8 +352,8 @@ Allows querying of tokens that have been registered as valid tokens in the netwo
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="57"
|
||||
class="link-to-prism">src/app/_eth/token-registry.ts:57</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="56"
|
||||
class="link-to-prism">src/app/_eth/token-registry.ts:56</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -444,8 +444,8 @@ Allows querying of tokens that have been registered as valid tokens in the netwo
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="75"
|
||||
class="link-to-prism">src/app/_eth/token-registry.ts:75</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="74"
|
||||
class="link-to-prism">src/app/_eth/token-registry.ts:74</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -536,8 +536,8 @@ Allows querying of tokens that have been registered as valid tokens in the netwo
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="91"
|
||||
class="link-to-prism">src/app/_eth/token-registry.ts:91</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="90"
|
||||
class="link-to-prism">src/app/_eth/token-registry.ts:90</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -583,8 +583,7 @@ Allows querying of tokens that have been registered as valid tokens in the netwo
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import Web3 from 'web3';
|
||||
|
||||
// Application imports
|
||||
import {environment} from '@src/environments/environment';
|
||||
|
||||
import { environment } from '@src/environments/environment';
|
||||
|
||||
/** Fetch the token registry contract's ABI. */
|
||||
const abi: Array<any> = require('@src/assets/js/block-sync/data/TokenUniqueSymbolIndex.json');
|
||||
|
||||
@@ -352,7 +352,7 @@
|
||||
|
||||
|
||||
<div class="tab-pane fade tab-source-code" id="c-source">
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {AccountDetails} from '@app/_models/account';
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { AccountDetails } from '@app/_models/account';
|
||||
|
||||
class BlocksBloom {
|
||||
low: number;
|
||||
@@ -397,13 +397,7 @@ class Conversion {
|
||||
tx: Tx;
|
||||
}
|
||||
|
||||
export {
|
||||
BlocksBloom,
|
||||
TxToken,
|
||||
Tx,
|
||||
Transaction,
|
||||
Conversion
|
||||
};
|
||||
export { BlocksBloom, TxToken, Tx, Transaction, Conversion };
|
||||
</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -260,7 +260,7 @@
|
||||
|
||||
|
||||
<div class="tab-pane fade tab-source-code" id="c-source">
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {AccountDetails} from '@app/_models/account';
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { AccountDetails } from '@app/_models/account';
|
||||
|
||||
class BlocksBloom {
|
||||
low: number;
|
||||
@@ -305,13 +305,7 @@ class Conversion {
|
||||
tx: Tx;
|
||||
}
|
||||
|
||||
export {
|
||||
BlocksBloom,
|
||||
TxToken,
|
||||
Tx,
|
||||
Transaction,
|
||||
Conversion
|
||||
};
|
||||
export { BlocksBloom, TxToken, Tx, Transaction, Conversion };
|
||||
</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -200,7 +200,7 @@
|
||||
|
||||
|
||||
<div class="tab-pane fade tab-source-code" id="c-source">
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {AccountDetails} from '@app/_models/account';
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { AccountDetails } from '@app/_models/account';
|
||||
|
||||
class BlocksBloom {
|
||||
low: number;
|
||||
@@ -245,13 +245,7 @@ class Conversion {
|
||||
tx: Tx;
|
||||
}
|
||||
|
||||
export {
|
||||
BlocksBloom,
|
||||
TxToken,
|
||||
Tx,
|
||||
Transaction,
|
||||
Conversion
|
||||
};
|
||||
export { BlocksBloom, TxToken, Tx, Transaction, Conversion };
|
||||
</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -189,10 +189,7 @@ class W3 {
|
||||
provider: any;
|
||||
}
|
||||
|
||||
export {
|
||||
Settings,
|
||||
W3
|
||||
};
|
||||
export { Settings, W3 };
|
||||
</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user