File

src/app/_eth/token-registry.ts

Index

Properties
Methods

Constructor

constructor(contractAddress: string, signerAddress?: string)
Parameters :
Name Type Optional
contractAddress string No
signerAddress string Yes

Properties

contract
Type : any
contractAddress
Type : string
signerAddress
Type : string

Methods

Public Async addressOf
addressOf(identifier: string)
Parameters :
Name Type Optional
identifier string No
Returns : Promise<string>
Public Async entry
entry(serial: number)
Parameters :
Name Type Optional
serial number No
Returns : Promise<string>
Public Async totalTokens
totalTokens()
Returns : Promise<number>
import Web3 from 'web3';
import {environment} from '@src/environments/environment';

const abi: Array<any> = require('@src/assets/js/block-sync/data/TokenUniqueSymbolIndex.json');
const web3: Web3 = new Web3(environment.web3Provider);

export class TokenRegistry {
  contractAddress: string;
  signerAddress: string;
  contract: any;

  constructor(contractAddress: string, signerAddress?: string) {
    this.contractAddress = contractAddress;
    this.contract = new web3.eth.Contract(abi, this.contractAddress);
    if (signerAddress) {
      this.signerAddress = signerAddress;
    } else {
      this.signerAddress = web3.eth.accounts[0];
    }
  }

  public async totalTokens(): Promise<number> {
    return await this.contract.methods.entryCount().call();
  }

  public async entry(serial: number): Promise<string> {
    return await this.contract.methods.entry(serial).call();
  }

  public async addressOf(identifier: string): Promise<string> {
    const id: string = web3.eth.abi.encodeParameter('bytes32', web3.utils.toHex(identifier));
    return await this.contract.methods.addressOf(id).call();
  }
}

result-matching ""

    No results matching ""