mirror of
https://github.com/oceanprotocol/ocean.js.git
synced 2024-11-26 20:39:05 +01:00
move ConversionTypeHelper functions to Provider
This commit is contained in:
parent
26f3aa6ef3
commit
cd34833ff7
@ -1,6 +1,6 @@
|
|||||||
import Web3 from 'web3'
|
import Web3 from 'web3'
|
||||||
import fetch from 'cross-fetch'
|
import fetch from 'cross-fetch'
|
||||||
import { LoggerInstance, getData, noZeroX } from '../utils'
|
import { LoggerInstance, getData } from '../utils'
|
||||||
import {
|
import {
|
||||||
FileMetadata,
|
FileMetadata,
|
||||||
ComputeJob,
|
ComputeJob,
|
||||||
@ -526,7 +526,7 @@ export class Provider {
|
|||||||
|
|
||||||
let signatureMessage = consumerAddress
|
let signatureMessage = consumerAddress
|
||||||
signatureMessage += jobId || ''
|
signatureMessage += jobId || ''
|
||||||
signatureMessage += (did && `${noZeroX(did)}`) || ''
|
signatureMessage += (did && `${this.noZeroX(did)}`) || ''
|
||||||
signatureMessage += nonce
|
signatureMessage += nonce
|
||||||
const signature = await this.signProviderRequest(
|
const signature = await this.signProviderRequest(
|
||||||
web3,
|
web3,
|
||||||
@ -535,7 +535,7 @@ export class Provider {
|
|||||||
)
|
)
|
||||||
const payload = Object()
|
const payload = Object()
|
||||||
payload.signature = signature
|
payload.signature = signature
|
||||||
payload.documentId = noZeroX(did)
|
payload.documentId = this.noZeroX(did)
|
||||||
payload.consumerAddress = consumerAddress
|
payload.consumerAddress = consumerAddress
|
||||||
if (jobId) payload.jobId = jobId
|
if (jobId) payload.jobId = jobId
|
||||||
|
|
||||||
@ -590,7 +590,7 @@ export class Provider {
|
|||||||
: null
|
: null
|
||||||
|
|
||||||
let url = `?consumerAddress=${consumerAddress}`
|
let url = `?consumerAddress=${consumerAddress}`
|
||||||
url += (did && `&documentId=${noZeroX(did)}`) || ''
|
url += (did && `&documentId=${this.noZeroX(did)}`) || ''
|
||||||
url += (jobId && `&jobId=${jobId}`) || ''
|
url += (jobId && `&jobId=${jobId}`) || ''
|
||||||
|
|
||||||
if (!computeStatusUrl) return null
|
if (!computeStatusUrl) return null
|
||||||
@ -699,7 +699,7 @@ export class Provider {
|
|||||||
|
|
||||||
let signatureMessage = consumerAddress
|
let signatureMessage = consumerAddress
|
||||||
signatureMessage += jobId || ''
|
signatureMessage += jobId || ''
|
||||||
signatureMessage += (did && `${noZeroX(did)}`) || ''
|
signatureMessage += (did && `${this.noZeroX(did)}`) || ''
|
||||||
signatureMessage += nonce
|
signatureMessage += nonce
|
||||||
const signature = await this.signProviderRequest(
|
const signature = await this.signProviderRequest(
|
||||||
web3,
|
web3,
|
||||||
@ -707,7 +707,7 @@ export class Provider {
|
|||||||
signatureMessage
|
signatureMessage
|
||||||
)
|
)
|
||||||
const payload = Object()
|
const payload = Object()
|
||||||
payload.documentId = noZeroX(did)
|
payload.documentId = this.noZeroX(did)
|
||||||
payload.consumerAddress = consumerAddress
|
payload.consumerAddress = consumerAddress
|
||||||
payload.jobId = jobId
|
payload.jobId = jobId
|
||||||
if (signature) payload.signature = signature
|
if (signature) payload.signature = signature
|
||||||
@ -766,6 +766,42 @@ export class Provider {
|
|||||||
return false
|
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()
|
export const ProviderInstance = new Provider()
|
||||||
|
@ -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] }
|
|
||||||
}
|
|
@ -1,6 +1,5 @@
|
|||||||
export * from './Constants'
|
export * from './Constants'
|
||||||
export * from './ContractUtils'
|
export * from './ContractUtils'
|
||||||
export * from './ConversionTypeHelper'
|
|
||||||
export * from './DatatokenName'
|
export * from './DatatokenName'
|
||||||
export * from './DdoHelpers'
|
export * from './DdoHelpers'
|
||||||
export * from './FetchHelper'
|
export * from './FetchHelper'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user