diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a2ed470a..3fc4ff36 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,8 +58,6 @@ jobs: working-directory: ${{ github.workspace }}/barge run: | bash -x start_ocean.sh --no-aquarius --no-elasticsearch --no-provider --no-dashboard 2>&1 > start_ocean.log & - env: - CONTRACTS_VERSION: v1.0.0-alpha.28 - run: npm ci - name: Wait for contracts deployment working-directory: ${{ github.workspace }}/barge @@ -117,8 +115,6 @@ jobs: working-directory: ${{ github.workspace }}/barge run: | bash -x start_ocean.sh --with-provider2 --no-dashboard --with-c2d 2>&1 > start_ocean.log & - env: - CONTRACTS_VERSION: v1.0.0-alpha.28 - run: npm ci - run: npm run build:metadata diff --git a/src/provider/Provider.ts b/src/provider/Provider.ts index f1c631bf..9504a959 100644 --- a/src/provider/Provider.ts +++ b/src/provider/Provider.ts @@ -10,7 +10,6 @@ import { ProviderInitialize } from '../@types/' import { noZeroX } from '../utils/ConversionTypeHelper' -import { signText, signWithHash } from '../utils/SignatureUtils' import fetch from 'cross-fetch' import { DownloadResponse } from '../@types/DownloadResponse' export interface HttpCallback { @@ -107,22 +106,17 @@ export class Provider { } } - public async createSignature( - web3: Web3, - accountId: string, - agreementId: string - ): Promise { - const signature = await signText(web3, noZeroX(agreementId), accountId) - return signature - } - - public async createHashSignature( + public async signProviderRequest( web3: Web3, accountId: string, message: string ): Promise { - const signature = await signWithHash(web3, message, accountId) - return signature + const consumerMessage = web3.utils.soliditySha3({ + t: 'bytes', + v: web3.utils.utf8ToHex(message) + }) + const consumerSignature = await web3.eth.sign(consumerMessage, accountId) + return consumerSignature } /** Encrypt data using the Provider's own symmetric key @@ -361,8 +355,7 @@ export class Provider { : null if (!downloadUrl) return null const nonce = Date.now() - const signature = await this.createSignature(web3, accountId, did + nonce) - + const signature = await this.signProviderRequest(web3, accountId, did + nonce) let consumeUrl = downloadUrl consumeUrl += `?fileIndex=${fileIndex}` consumeUrl += `&documentId=${did}` @@ -411,12 +404,11 @@ export class Provider { let signatureMessage = consumerAddress signatureMessage += dataset.documentId signatureMessage += nonce - const signature = await this.createHashSignature( + const signature = await this.signProviderRequest( web3, consumerAddress, signatureMessage ) - const payload = Object() payload.consumerAddress = consumerAddress payload.signature = signature @@ -490,12 +482,11 @@ export class Provider { signatureMessage += jobId || '' signatureMessage += (did && `${noZeroX(did)}`) || '' signatureMessage += nonce - const signature = await this.createHashSignature( + const signature = await this.signProviderRequest( web3, consumerAddress, signatureMessage ) - const payload = Object() payload.signature = signature payload.documentId = noZeroX(did) @@ -620,7 +611,7 @@ export class Provider { signatureMessage += jobId signatureMessage += index.toString() signatureMessage += nonce - const signature = await this.createHashSignature(web3, accountId, signatureMessage) + const signature = await this.signProviderRequest(web3, accountId, signatureMessage) let consumeUrl = computeResultUrl consumeUrl += `?consumerAddress=${accountId}` @@ -680,12 +671,11 @@ export class Provider { signatureMessage += jobId || '' signatureMessage += (did && `${noZeroX(did)}`) || '' signatureMessage += nonce - const signature = await this.createHashSignature( + const signature = await this.signProviderRequest( web3, consumerAddress, signatureMessage ) - const payload = Object() payload.documentId = noZeroX(did) payload.consumerAddress = consumerAddress diff --git a/src/utils/ConfigHelper.ts b/src/utils/ConfigHelper.ts index 05c72937..cc01d00c 100644 --- a/src/utils/ConfigHelper.ts +++ b/src/utils/ConfigHelper.ts @@ -32,7 +32,8 @@ export const configHelperNetworks: Config[] = [ ...configHelperNetworksBase, chainId: 8996, network: 'development', - metadataCacheUri: 'http://127.0.0.1:5000' + metadataCacheUri: 'http://127.0.0.1:5000', + providerUri: 'http://172.15.0.4:8030' }, { ...configHelperNetworksBase, diff --git a/src/utils/SignatureUtils.ts b/src/utils/SignatureUtils.ts index 93bc7b63..381f5cc5 100644 --- a/src/utils/SignatureUtils.ts +++ b/src/utils/SignatureUtils.ts @@ -1,32 +1,6 @@ import Web3 from 'web3' import { LoggerInstance } from './Logger' -export async function signText( - web3: Web3, - text: string, - publicKey: string, - password?: string -): Promise { - const isMetaMask = - web3 && web3.currentProvider && (web3.currentProvider as any).isMetaMask - try { - return await web3.eth.personal.sign(text, publicKey, password) - } catch (e) { - if (isMetaMask) { - throw e - } - LoggerInstance.warn('Error on personal sign.') - LoggerInstance.warn(e) - try { - return await web3.eth.sign(text, publicKey) - } catch (e2) { - LoggerInstance.error('Error on sign.') - LoggerInstance.error(e2) - throw new Error('Error executing personal sign') - } - } -} - export async function signHash(web3: Web3, message: string, address: string) { let signedMessage = await web3.eth.sign(message, address) signedMessage = signedMessage.substr(2) // remove 0x @@ -38,30 +12,3 @@ export async function signHash(web3: Web3, message: string, address: string) { if (v === '0x01') v = '0x1c' return { v, r, s } } - -export async function signWithHash( - web3: Web3, - text: string, - publicKey: string, - password?: string -): Promise { - const hash = web3.utils.utf8ToHex(text) - const isMetaMask = - web3 && web3.currentProvider && (web3.currentProvider as any).isMetaMask - try { - return await web3.eth.personal.sign(hash, publicKey, password) - } catch (e) { - if (isMetaMask) { - throw e - } - LoggerInstance.warn('Error on personal sign.') - LoggerInstance.warn(e) - try { - return await web3.eth.sign(hash, publicKey) - } catch (e2) { - LoggerInstance.error('Error on sign.') - LoggerInstance.error(e2) - throw new Error('Error executing personal sign') - } - } -}