From cd34833ff70193ed0933427413ded9abff811746 Mon Sep 17 00:00:00 2001 From: "Miquel A. Cabot" Date: Thu, 9 Jun 2022 13:15:14 +0200 Subject: [PATCH] move ConversionTypeHelper functions to Provider --- src/services/Provider.ts | 48 +++++++++++++++++++++++++++---- src/utils/ConversionTypeHelper.ts | 27 ----------------- src/utils/index.ts | 1 - 3 files changed, 42 insertions(+), 34 deletions(-) delete mode 100644 src/utils/ConversionTypeHelper.ts diff --git a/src/services/Provider.ts b/src/services/Provider.ts index 412a8469..5d207161 100644 --- a/src/services/Provider.ts +++ b/src/services/Provider.ts @@ -1,6 +1,6 @@ import Web3 from 'web3' import fetch from 'cross-fetch' -import { LoggerInstance, getData, noZeroX } from '../utils' +import { LoggerInstance, getData } from '../utils' import { FileMetadata, ComputeJob, @@ -526,7 +526,7 @@ export class Provider { let signatureMessage = consumerAddress signatureMessage += jobId || '' - signatureMessage += (did && `${noZeroX(did)}`) || '' + signatureMessage += (did && `${this.noZeroX(did)}`) || '' signatureMessage += nonce const signature = await this.signProviderRequest( web3, @@ -535,7 +535,7 @@ export class Provider { ) const payload = Object() payload.signature = signature - payload.documentId = noZeroX(did) + payload.documentId = this.noZeroX(did) payload.consumerAddress = consumerAddress if (jobId) payload.jobId = jobId @@ -590,7 +590,7 @@ export class Provider { : null let url = `?consumerAddress=${consumerAddress}` - url += (did && `&documentId=${noZeroX(did)}`) || '' + url += (did && `&documentId=${this.noZeroX(did)}`) || '' url += (jobId && `&jobId=${jobId}`) || '' if (!computeStatusUrl) return null @@ -699,7 +699,7 @@ export class Provider { let signatureMessage = consumerAddress signatureMessage += jobId || '' - signatureMessage += (did && `${noZeroX(did)}`) || '' + signatureMessage += (did && `${this.noZeroX(did)}`) || '' signatureMessage += nonce const signature = await this.signProviderRequest( web3, @@ -707,7 +707,7 @@ export class Provider { signatureMessage ) const payload = Object() - payload.documentId = noZeroX(did) + payload.documentId = this.noZeroX(did) payload.consumerAddress = consumerAddress payload.jobId = jobId if (signature) payload.signature = signature @@ -766,6 +766,42 @@ export class Provider { return false } } + + private zeroX(input: string): string { + return this.zeroXTransformer(input, true) + } + + private noZeroX(input: string): string { + return this.zeroXTransformer(input, false) + } + + private zeroXTransformer(input = '', zeroOutput: boolean): string { + const { valid, output } = this.inputMatch( + input, + /^(?:0x)*([a-f0-9]+)$/i, + 'zeroXTransformer' + ) + return (zeroOutput && valid ? '0x' : '') + output + } + + // Shared functions + private inputMatch( + input: string, + regexp: RegExp, + conversorName: string + ): { valid: boolean; output: string } { + if (typeof input !== 'string') { + LoggerInstance.debug('Not input string:') + LoggerInstance.debug(input) + throw new Error(`[${conversorName}] Expected string, input type: ${typeof input}`) + } + const match = input.match(regexp) + if (!match) { + LoggerInstance.warn(`[${conversorName}] Input transformation failed.`) + return { valid: false, output: input } + } + return { valid: true, output: match[1] } + } } export const ProviderInstance = new Provider() diff --git a/src/utils/ConversionTypeHelper.ts b/src/utils/ConversionTypeHelper.ts deleted file mode 100644 index b8141436..00000000 --- a/src/utils/ConversionTypeHelper.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { LoggerInstance } from '.' - -export const zeroX = (input: string): string => zeroXTransformer(input, true) -export const noZeroX = (input: string): string => zeroXTransformer(input, false) -export function zeroXTransformer(input = '', zeroOutput: boolean): string { - const { valid, output } = inputMatch(input, /^(?:0x)*([a-f0-9]+)$/i, 'zeroXTransformer') - return (zeroOutput && valid ? '0x' : '') + output -} - -// Shared functions -function inputMatch( - input: string, - regexp: RegExp, - conversorName: string -): { valid: boolean; output: string } { - if (typeof input !== 'string') { - LoggerInstance.debug('Not input string:') - LoggerInstance.debug(input) - throw new Error(`[${conversorName}] Expected string, input type: ${typeof input}`) - } - const match = input.match(regexp) - if (!match) { - LoggerInstance.warn(`[${conversorName}] Input transformation failed.`) - return { valid: false, output: input } - } - return { valid: true, output: match[1] } -} diff --git a/src/utils/index.ts b/src/utils/index.ts index 2795fcad..c45c5ab5 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,6 +1,5 @@ export * from './Constants' export * from './ContractUtils' -export * from './ConversionTypeHelper' export * from './DatatokenName' export * from './DdoHelpers' export * from './FetchHelper'