From e4f5b9cdb3021a7af1fa97c2ef0233bdf59af62c Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Wed, 23 Aug 2017 20:28:48 +0200 Subject: Add all public tokenRegistry functions --- src/contract_wrappers/token_registry_wrapper.ts | 38 +++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'src/contract_wrappers/token_registry_wrapper.ts') diff --git a/src/contract_wrappers/token_registry_wrapper.ts b/src/contract_wrappers/token_registry_wrapper.ts index ddfbc35ae..207259fcd 100644 --- a/src/contract_wrappers/token_registry_wrapper.ts +++ b/src/contract_wrappers/token_registry_wrapper.ts @@ -47,6 +47,44 @@ export class TokenRegistryWrapper extends ContractWrapper { const tokenRegistryContract = await this._getTokenRegistryContractAsync(); const metadata = await tokenRegistryContract.getTokenMetaData.call(address); + const token = this._getTokenByMetadata(metadata); + return token; + } + public async getTokenAddressBySymbolIfExistsAsync(symbol: string): Promise { + assert.isString('symbol', symbol); + const tokenRegistryContract = await this._getTokenRegistryContractAsync(); + const addressIfExists = await tokenRegistryContract.getTokenAddressBySymbol.call(symbol); + if (addressIfExists === constants.NULL_ADDRESS) { + return undefined; + } else { + return addressIfExists; + } + } + public async getTokenAddressByNameIfExistsAsync(symbol: string): Promise { + assert.isString('name', name); + const tokenRegistryContract = await this._getTokenRegistryContractAsync(); + const addressIfExists = await tokenRegistryContract.getTokenAddressByName.call(name); + if (addressIfExists === constants.NULL_ADDRESS) { + return undefined; + } else { + return addressIfExists; + } + } + public async getTokenBySymbolIfExistsAsync(symbol: string): Promise { + assert.isString('symbol', symbol); + const tokenRegistryContract = await this._getTokenRegistryContractAsync(); + const metadata = await tokenRegistryContract.getTokenBySymbol.call(symbol); + const token = this._getTokenByMetadata(metadata); + return token; + } + public async getTokenByNameIfExistsAsync(name: string): Promise { + assert.isString('name', name); + const tokenRegistryContract = await this._getTokenRegistryContractAsync(); + const metadata = await tokenRegistryContract.getTokenByName.call(name); + const token = this._getTokenByMetadata(metadata); + return token; + } + private _getTokenByMetadata(metadata: TokenMetadata): Token|undefined { if (metadata[0] === constants.NULL_ADDRESS) { return undefined; } -- cgit v1.2.3