Update docs.
This commit is contained in:
@@ -75,7 +75,7 @@
|
||||
<td class="col-md-4">
|
||||
<ul class="index-list">
|
||||
<li>
|
||||
<a href="#LoadEvent">LoadEvent</a>
|
||||
<a href="#load">load</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#registry">registry</a>
|
||||
@@ -83,6 +83,16 @@
|
||||
<li>
|
||||
<a href="#tokenRegistry">tokenRegistry</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#tokens">tokens</a>
|
||||
</li>
|
||||
<li>
|
||||
<span class="modifier">Private</span>
|
||||
<a href="#tokensList">tokensList</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#tokensSubject">tokensSubject</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -95,17 +105,37 @@
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<ul class="index-list">
|
||||
<li>
|
||||
<a href="#addToken">addToken</a>
|
||||
</li>
|
||||
<li>
|
||||
<span class="modifier">Async</span>
|
||||
<a href="#getTokenBalance">getTokenBalance</a>
|
||||
</li>
|
||||
<li>
|
||||
<span class="modifier">Async</span>
|
||||
<a href="#getTokenByAddress">getTokenByAddress</a>
|
||||
</li>
|
||||
<li>
|
||||
<span class="modifier">Async</span>
|
||||
<a href="#getTokenBySymbol">getTokenBySymbol</a>
|
||||
</li>
|
||||
<li>
|
||||
<span class="modifier">Async</span>
|
||||
<a href="#getTokenName">getTokenName</a>
|
||||
</li>
|
||||
<li>
|
||||
<span class="modifier">Async</span>
|
||||
<a href="#getTokens">getTokens</a>
|
||||
</li>
|
||||
<li>
|
||||
<span class="modifier">Async</span>
|
||||
<a href="#getTokenSymbol">getTokenSymbol</a>
|
||||
</li>
|
||||
<li>
|
||||
<span class="modifier">Async</span>
|
||||
<a href="#init">init</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -124,12 +154,12 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<code>constructor(httpClient: <a href="https://angular.io/api/common/http/HttpClient" target="_blank">HttpClient</a>, registryService: <a href="../injectables/RegistryService.html">RegistryService</a>)</code>
|
||||
<code>constructor(httpClient: <a href="https://angular.io/api/common/http/HttpClient" target="_blank">HttpClient</a>)</code>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="15" class="link-to-prism">src/app/_services/token.service.ts:15</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="20" class="link-to-prism">src/app/_services/token.service.ts:20</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -158,18 +188,6 @@
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td>registryService</td>
|
||||
|
||||
<td>
|
||||
<code><a href="../injectables/RegistryService.html" target="_self" >RegistryService</a></code>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
No
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -184,6 +202,76 @@
|
||||
<h3 id="methods">
|
||||
Methods
|
||||
</h3>
|
||||
<table class="table table-sm table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<a name="addToken"></a>
|
||||
<span class="name">
|
||||
<b>
|
||||
addToken
|
||||
</b>
|
||||
<a href="#addToken"><span class="icon ion-ios-link"></span></a>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<code>addToken(token: <a href="../interfaces/Token.html">Token</a>)</code>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="32"
|
||||
class="link-to-prism">src/app/_services/token.service.ts:32</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
|
||||
<div class="io-description">
|
||||
<b>Parameters :</b>
|
||||
<table class="params">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td>Type</td>
|
||||
<td>Optional</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>token</td>
|
||||
<td>
|
||||
<code><a href="../interfaces/Token.html" target="_self" >Token</a></code>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
No
|
||||
</td>
|
||||
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div>
|
||||
</div>
|
||||
<div class="io-description">
|
||||
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
|
||||
|
||||
</div>
|
||||
<div class="io-description">
|
||||
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-sm table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -208,8 +296,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="37"
|
||||
class="link-to-prism">src/app/_services/token.service.ts:37</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="73"
|
||||
class="link-to-prism">src/app/_services/token.service.ts:73</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -246,7 +334,79 @@
|
||||
<div>
|
||||
</div>
|
||||
<div class="io-description">
|
||||
<b>Returns : </b> <code>Promise<number></code>
|
||||
<b>Returns : </b> <code>Promise<Promise<number>></code>
|
||||
|
||||
</div>
|
||||
<div class="io-description">
|
||||
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-sm table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<a name="getTokenByAddress"></a>
|
||||
<span class="name">
|
||||
<b>
|
||||
<span class="modifier">Async</span>
|
||||
getTokenByAddress
|
||||
</b>
|
||||
<a href="#getTokenByAddress"><span class="icon ion-ios-link"></span></a>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<span class="modifier-icon icon ion-ios-reset"></span>
|
||||
<code>getTokenByAddress(address: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>)</code>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="52"
|
||||
class="link-to-prism">src/app/_services/token.service.ts:52</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
|
||||
<div class="io-description">
|
||||
<b>Parameters :</b>
|
||||
<table class="params">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td>Type</td>
|
||||
<td>Optional</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>address</td>
|
||||
<td>
|
||||
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
No
|
||||
</td>
|
||||
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div>
|
||||
</div>
|
||||
<div class="io-description">
|
||||
<b>Returns : </b> <code><a href="../interfaces/Token.html" target="_self" >Promise<Token></a></code>
|
||||
|
||||
</div>
|
||||
<div class="io-description">
|
||||
@@ -263,6 +423,7 @@
|
||||
<a name="getTokenBySymbol"></a>
|
||||
<span class="name">
|
||||
<b>
|
||||
<span class="modifier">Async</span>
|
||||
getTokenBySymbol
|
||||
</b>
|
||||
<a href="#getTokenBySymbol"><span class="icon ion-ios-link"></span></a>
|
||||
@@ -271,15 +432,16 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<code>getTokenBySymbol(symbol: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>)</code>
|
||||
<span class="modifier-icon icon ion-ios-reset"></span>
|
||||
<code>getTokenBySymbol(symbol: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>)</code>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="33"
|
||||
class="link-to-prism">src/app/_services/token.service.ts:33</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="63"
|
||||
class="link-to-prism">src/app/_services/token.service.ts:63</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -316,7 +478,7 @@
|
||||
<div>
|
||||
</div>
|
||||
<div class="io-description">
|
||||
<b>Returns : </b> <code>Observable<any></code>
|
||||
<b>Returns : </b> <code><a href="../interfaces/Token.html" target="_self" >Promise<Observable<Token>></a></code>
|
||||
|
||||
</div>
|
||||
<div class="io-description">
|
||||
@@ -326,6 +488,47 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-sm table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<a name="getTokenName"></a>
|
||||
<span class="name">
|
||||
<b>
|
||||
<span class="modifier">Async</span>
|
||||
getTokenName
|
||||
</b>
|
||||
<a href="#getTokenName"><span class="icon ion-ios-link"></span></a>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<span class="modifier-icon icon ion-ios-reset"></span>
|
||||
<code>getTokenName()</code>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="78"
|
||||
class="link-to-prism">src/app/_services/token.service.ts:78</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
|
||||
<div class="io-description">
|
||||
<b>Returns : </b> <code>Promise<string></code>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-sm table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -350,8 +553,8 @@
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="28"
|
||||
class="link-to-prism">src/app/_services/token.service.ts:28</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="44"
|
||||
class="link-to-prism">src/app/_services/token.service.ts:44</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -360,7 +563,89 @@
|
||||
<td class="col-md-4">
|
||||
|
||||
<div class="io-description">
|
||||
<b>Returns : </b> <code>Promise<Array<Promise<string>>></code>
|
||||
<b>Returns : </b> <code>Promise<void></code>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-sm table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<a name="getTokenSymbol"></a>
|
||||
<span class="name">
|
||||
<b>
|
||||
<span class="modifier">Async</span>
|
||||
getTokenSymbol
|
||||
</b>
|
||||
<a href="#getTokenSymbol"><span class="icon ion-ios-link"></span></a>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<span class="modifier-icon icon ion-ios-reset"></span>
|
||||
<code>getTokenSymbol()</code>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="83"
|
||||
class="link-to-prism">src/app/_services/token.service.ts:83</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
|
||||
<div class="io-description">
|
||||
<b>Returns : </b> <code>Promise<string></code>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-sm table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<a name="init"></a>
|
||||
<span class="name">
|
||||
<b>
|
||||
<span class="modifier">Async</span>
|
||||
init
|
||||
</b>
|
||||
<a href="#init"><span class="icon ion-ios-link"></span></a>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<span class="modifier-icon icon ion-ios-reset"></span>
|
||||
<code>init()</code>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="24"
|
||||
class="link-to-prism">src/app/_services/token.service.ts:24</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
|
||||
<div class="io-description">
|
||||
<b>Returns : </b> <code>Promise<void></code>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
@@ -377,28 +662,28 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<a name="LoadEvent"></a>
|
||||
<a name="load"></a>
|
||||
<span class="name">
|
||||
<b>
|
||||
LoadEvent</b>
|
||||
<a href="#LoadEvent"><span class="icon ion-ios-link"></span></a>
|
||||
load</b>
|
||||
<a href="#load"><span class="icon ion-ios-link"></span></a>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<i>Type : </i> <code>EventEmitter<number></code>
|
||||
<i>Type : </i> <code>BehaviorSubject<any></code>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<i>Default value : </i><code>new EventEmitter<number>()</code>
|
||||
<i>Default value : </i><code>new BehaviorSubject<any>(false)</code>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="15" class="link-to-prism">src/app/_services/token.service.ts:15</a></div>
|
||||
<div class="io-line">Defined in <a href="" data-line="20" class="link-to-prism">src/app/_services/token.service.ts:20</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -457,6 +742,105 @@
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-sm table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<a name="tokens"></a>
|
||||
<span class="name">
|
||||
<b>
|
||||
tokens</b>
|
||||
<a href="#tokens"><span class="icon ion-ios-link"></span></a>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<i>Type : </i> <code><a href="../interfaces/Token.html" target="_self" >Array<Token></a></code>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<i>Default value : </i><code>[]</code>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="15" class="link-to-prism">src/app/_services/token.service.ts:15</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-sm table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<a name="tokensList"></a>
|
||||
<span class="name">
|
||||
<b>
|
||||
<span class="modifier">Private</span>
|
||||
tokensList</b>
|
||||
<a href="#tokensList"><span class="icon ion-ios-link"></span></a>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<i>Type : </i> <code><a href="../interfaces/Token.html" target="_self" >BehaviorSubject<Array<Token>></a></code>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<i>Default value : </i><code>new BehaviorSubject<Array<Token>>(
|
||||
this.tokens
|
||||
)</code>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="16" class="link-to-prism">src/app/_services/token.service.ts:16</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-sm table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<a name="tokensSubject"></a>
|
||||
<span class="name">
|
||||
<b>
|
||||
tokensSubject</b>
|
||||
<a href="#tokensSubject"><span class="icon ion-ios-link"></span></a>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<i>Type : </i> <code><a href="../interfaces/Token.html" target="_self" >Observable<Array<Token>></a></code>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<i>Default value : </i><code>this.tokensList.asObservable()</code>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-md-4">
|
||||
<div class="io-line">Defined in <a href="" data-line="19" class="link-to-prism">src/app/_services/token.service.ts:19</a></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
@@ -465,13 +849,13 @@
|
||||
|
||||
|
||||
<div class="tab-pane fade tab-source-code" id="c-source">
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { EventEmitter, Injectable } from '@angular/core';
|
||||
import { environment } from '@src/environments/environment';
|
||||
import { BehaviorSubject, Observable } from 'rxjs';
|
||||
import { CICRegistry } from 'cic-client';
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { Injectable } from '@angular/core';
|
||||
import { CICRegistry } from '@cicnet/cic-client';
|
||||
import { TokenRegistry } from '@app/_eth';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { RegistryService } from '@app/_services/registry.service';
|
||||
import { Token } from '@app/_models';
|
||||
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
@@ -479,31 +863,77 @@ import { RegistryService } from '@app/_services/registry.service';
|
||||
export class TokenService {
|
||||
registry: CICRegistry;
|
||||
tokenRegistry: TokenRegistry;
|
||||
LoadEvent: EventEmitter<number> = new EventEmitter<number>();
|
||||
tokens: Array<Token> = [];
|
||||
private tokensList: BehaviorSubject<Array<Token>> = new BehaviorSubject<Array<Token>>(
|
||||
this.tokens
|
||||
);
|
||||
tokensSubject: Observable<Array<Token>> = this.tokensList.asObservable();
|
||||
load: BehaviorSubject<any> = new BehaviorSubject<any>(false);
|
||||
|
||||
constructor(private httpClient: HttpClient, private registryService: RegistryService) {
|
||||
this.registry = registryService.getRegistry();
|
||||
this.registry.load();
|
||||
this.registry.onload = async (address: string): Promise<void> => {
|
||||
this.tokenRegistry = new TokenRegistry(
|
||||
await this.registry.getContractAddressByName('TokenRegistry')
|
||||
);
|
||||
this.LoadEvent.next(Date.now());
|
||||
};
|
||||
constructor(private httpClient: HttpClient) {}
|
||||
|
||||
async init(): Promise<void> {
|
||||
this.registry = await RegistryService.getRegistry();
|
||||
this.tokenRegistry = new TokenRegistry(
|
||||
await this.registry.getContractAddressByName('TokenRegistry')
|
||||
);
|
||||
this.load.next(true);
|
||||
}
|
||||
|
||||
async getTokens(): Promise<Array<Promise<string>>> {
|
||||
addToken(token: Token): void {
|
||||
const savedIndex = this.tokens.findIndex((tk) => tk.address === token.address);
|
||||
if (savedIndex === 0) {
|
||||
return;
|
||||
}
|
||||
if (savedIndex > 0) {
|
||||
this.tokens.splice(savedIndex, 1);
|
||||
}
|
||||
this.tokens.unshift(token);
|
||||
this.tokensList.next(this.tokens);
|
||||
}
|
||||
|
||||
async getTokens(): Promise<void> {
|
||||
const count: number = await this.tokenRegistry.totalTokens();
|
||||
return Array.from({ length: count }, async (v, i) => await this.tokenRegistry.entry(i));
|
||||
for (let i = 0; i < count; i++) {
|
||||
const token: Token = await this.getTokenByAddress(await this.tokenRegistry.entry(i));
|
||||
this.addToken(token);
|
||||
}
|
||||
}
|
||||
|
||||
getTokenBySymbol(symbol: string): Observable<any> {
|
||||
return this.httpClient.get(`${environment.cicCacheUrl}/tokens/${symbol}`);
|
||||
async getTokenByAddress(address: string): Promise<Token> {
|
||||
const token: any = {};
|
||||
const tokenContract = await this.registry.addToken(address);
|
||||
token.address = address;
|
||||
token.name = await tokenContract.methods.name().call();
|
||||
token.symbol = await tokenContract.methods.symbol().call();
|
||||
token.supply = await tokenContract.methods.totalSupply().call();
|
||||
token.decimals = await tokenContract.methods.decimals().call();
|
||||
return token;
|
||||
}
|
||||
|
||||
async getTokenBalance(address: string): Promise<number> {
|
||||
const sarafuToken = await this.registry.addToken(await this.tokenRegistry.entry(0));
|
||||
return await sarafuToken.methods.balanceOf(address).call();
|
||||
async getTokenBySymbol(symbol: string): Promise<Observable<Token>> {
|
||||
const tokenSubject: Subject<Token> = new Subject<Token>();
|
||||
await this.getTokens();
|
||||
this.tokensSubject.subscribe((tokens) => {
|
||||
const queriedToken = tokens.find((token) => token.symbol === symbol);
|
||||
tokenSubject.next(queriedToken);
|
||||
});
|
||||
return tokenSubject.asObservable();
|
||||
}
|
||||
|
||||
async getTokenBalance(address: string): Promise<(address: string) => Promise<number>> {
|
||||
const token = await this.registry.addToken(await this.tokenRegistry.entry(0));
|
||||
return await token.methods.balanceOf(address).call();
|
||||
}
|
||||
|
||||
async getTokenName(): Promise<string> {
|
||||
const token = await this.registry.addToken(await this.tokenRegistry.entry(0));
|
||||
return await token.methods.name().call();
|
||||
}
|
||||
|
||||
async getTokenSymbol(): Promise<string> {
|
||||
const token = await this.registry.addToken(await this.tokenRegistry.entry(0));
|
||||
return await token.methods.symbol().call();
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
Reference in New Issue
Block a user