mirror of
https://github.com/oceanprotocol/ocean.js.git
synced 2024-11-26 20:39:05 +01:00
fix signature and download
This commit is contained in:
parent
53900d5b62
commit
74f3b3046b
@ -29,7 +29,7 @@
|
||||
"mocha": "TS_NODE_PROJECT='./test/tsconfig.json' mocha --config=test/.mocharc.json --node-env=test --exit",
|
||||
"test": "npm run lint && npm run test:unit:cover && npm run test:integration:cover",
|
||||
"test:unit": "npm run mocha -- 'test/unit/**/*.test.ts'",
|
||||
"test:integration": "npm run mocha -- 'test/integration/Provider.test.ts' 'test/integration/PublishFlow.test.ts' 'test/integration/PublishEditConsume.test.ts'",
|
||||
"test:integration": "npm run mocha -- 'test/integration/Provider.test.ts' 'test/integration/PublishFlow.test.ts' 'test/integration/PublishEditConsume.test.ts'",
|
||||
"test:unit:cover": "nyc --report-dir coverage/unit npm run test:unit",
|
||||
"test:integration:cover": "nyc --report-dir coverage/integration --no-clean npm run test:integration",
|
||||
"create:guide": "./scripts/createCodeExamples.sh test/integration/CodeExamples.test.ts",
|
||||
|
@ -99,28 +99,20 @@ export class Provider {
|
||||
}
|
||||
}
|
||||
|
||||
public async signProviderRequest(
|
||||
signer: Signer,
|
||||
message: string,
|
||||
web3?: Web3
|
||||
): Promise<string> {
|
||||
public async signProviderRequest(signer: Signer, message: string): Promise<string> {
|
||||
const consumerMessage = ethers.utils.solidityKeccak256(
|
||||
['bytes'],
|
||||
[ethers.utils.hexlify(ethers.utils.toUtf8Bytes(message))]
|
||||
)
|
||||
// const isMetaMask = web3 && web3.currentProvider && (web3.currentProvider as any).isMetaMask
|
||||
// if (isMetaMask) return await web3.eth.personal.sign(consumerMessage, accountId, password)
|
||||
// await web3.eth.sign(consumerMessage, await signer.getAddress())
|
||||
|
||||
// const isMetaMask =
|
||||
// web3 && web3.currentProvider && (web3.currentProvider as any).isMetaMask
|
||||
|
||||
// return await web3.eth.personal.sign(consumerMessage, accountId, password)
|
||||
// if (isMetaMask)
|
||||
// (signer as providers.JsonRpcSigner)._legacySignMessage(consumerMessage)
|
||||
// else
|
||||
const oldSignature = await web3.eth.sign(consumerMessage, await signer.getAddress())
|
||||
console.log('initial signature = ', oldSignature)
|
||||
const newSignature = await (signer as providers.JsonRpcSigner)._legacySignMessage(
|
||||
consumerMessage
|
||||
const messageHashBytes = ethers.utils.arrayify(consumerMessage)
|
||||
let newSignature = await (signer as providers.JsonRpcSigner)._legacySignMessage(
|
||||
messageHashBytes
|
||||
)
|
||||
|
||||
console.log('new signature = ', newSignature)
|
||||
return newSignature
|
||||
}
|
||||
@ -395,7 +387,6 @@ export class Provider {
|
||||
transferTxId: string,
|
||||
providerUri: string,
|
||||
signer: Signer,
|
||||
web3: Web3,
|
||||
userCustomParameters?: UserCustomParameters
|
||||
): Promise<any> {
|
||||
const providerEndpoints = await this.getEndpoints(providerUri)
|
||||
@ -408,7 +399,7 @@ export class Provider {
|
||||
: null
|
||||
if (!downloadUrl) return null
|
||||
const nonce = Date.now()
|
||||
const signature = await this.signProviderRequest(signer, did + nonce, web3)
|
||||
const signature = await this.signProviderRequest(signer, did + nonce)
|
||||
let consumeUrl = downloadUrl
|
||||
consumeUrl += `?fileIndex=${fileIndex}`
|
||||
consumeUrl += `&documentId=${did}`
|
||||
|
@ -396,77 +396,76 @@ describe('Publish consume test', async () => {
|
||||
})
|
||||
|
||||
it('Should download the datasets files', async () => {
|
||||
// const urlDownloadUrl = await ProviderInstance.getDownloadUrl(
|
||||
// resolvedUrlAssetDdo.id,
|
||||
// resolvedUrlAssetDdo.services[0].id,
|
||||
// 0,
|
||||
// urlOrderTx.transactionHash,
|
||||
// providerUrl,
|
||||
// consumerAccount,
|
||||
// web3
|
||||
// )
|
||||
// assert(urlDownloadUrl, 'Provider getDownloadUrl failed for url dataset')
|
||||
// try {
|
||||
// await downloadFile(urlDownloadUrl)
|
||||
// } catch (e) {
|
||||
// assert.fail(`Download url dataset failed: ${e}`)
|
||||
// }
|
||||
// const arwaveDownloadURL = await ProviderInstance.getDownloadUrl(
|
||||
// resolvedArweaveAssetDdo.id,
|
||||
// resolvedArweaveAssetDdo.services[0].id,
|
||||
// 0,
|
||||
// arwaveOrderTx.transactionHash,
|
||||
// providerUrl,
|
||||
// consumerAccount
|
||||
// )
|
||||
// assert(arwaveDownloadURL, 'Provider getDownloadUrl failed for arwave dataset')
|
||||
// try {
|
||||
// await downloadFile(arwaveDownloadURL)
|
||||
// } catch (e) {
|
||||
// assert.fail(`Download arwave dataset failed: ${e}`)
|
||||
// }
|
||||
// const ipfsDownloadURL = await ProviderInstance.getDownloadUrl(
|
||||
// resolvedIpfsAssetDdo.id,
|
||||
// resolvedIpfsAssetDdo.services[0].id,
|
||||
// 0,
|
||||
// ipfsOrderTx.transactionHash,
|
||||
// providerUrl,
|
||||
// consumerAccount
|
||||
// )
|
||||
// assert(ipfsDownloadURL, 'Provider getDownloadUrl failed for ipfs dataset')
|
||||
// try {
|
||||
// await downloadFile(ipfsDownloadURL)
|
||||
// } catch (e) {
|
||||
// assert.fail(`Download ipfs dataset failed ${e}`)
|
||||
// }
|
||||
// const onchainDownloadURL = await ProviderInstance.getDownloadUrl(
|
||||
// resolvedOnchainAssetDdo.id,
|
||||
// resolvedOnchainAssetDdo.services[0].id,
|
||||
// 0,
|
||||
// onchainOrderTx.transactionHash,
|
||||
// providerUrl,
|
||||
// consumerAccount
|
||||
// )
|
||||
// assert(onchainDownloadURL, 'Provider getDownloadUrl failed for onchain dataset')
|
||||
// try {
|
||||
// await downloadFile(onchainDownloadURL)
|
||||
// } catch (e) {
|
||||
// assert.fail(`Download onchain dataset failed ${e}`)
|
||||
// }
|
||||
// const graphqlDownloadURL = await ProviderInstance.getDownloadUrl(
|
||||
// resolvedGraphqlAssetDdo.id,
|
||||
// resolvedGraphqlAssetDdo.services[0].id,
|
||||
// 0,
|
||||
// grapqlOrderTx.transactionHash,
|
||||
// providerUrl,
|
||||
// consumerAccount
|
||||
// )
|
||||
// assert(graphqlDownloadURL, 'Provider getDownloadUrl failed for graphql dataset')
|
||||
// try {
|
||||
// await downloadFile(graphqlDownloadURL)
|
||||
// } catch (e) {
|
||||
// assert.fail(`Download graphql dataset failed ${e}`)
|
||||
// }
|
||||
const urlDownloadUrl = await ProviderInstance.getDownloadUrl(
|
||||
resolvedUrlAssetDdo.id,
|
||||
resolvedUrlAssetDdo.services[0].id,
|
||||
0,
|
||||
urlOrderTx.transactionHash,
|
||||
providerUrl,
|
||||
consumerAccount
|
||||
)
|
||||
assert(urlDownloadUrl, 'Provider getDownloadUrl failed for url dataset')
|
||||
try {
|
||||
await downloadFile(urlDownloadUrl)
|
||||
} catch (e) {
|
||||
assert.fail(`Download url dataset failed: ${e}`)
|
||||
}
|
||||
const arwaveDownloadURL = await ProviderInstance.getDownloadUrl(
|
||||
resolvedArweaveAssetDdo.id,
|
||||
resolvedArweaveAssetDdo.services[0].id,
|
||||
0,
|
||||
arwaveOrderTx.transactionHash,
|
||||
providerUrl,
|
||||
consumerAccount
|
||||
)
|
||||
assert(arwaveDownloadURL, 'Provider getDownloadUrl failed for arwave dataset')
|
||||
try {
|
||||
await downloadFile(arwaveDownloadURL)
|
||||
} catch (e) {
|
||||
assert.fail(`Download arwave dataset failed: ${e}`)
|
||||
}
|
||||
const ipfsDownloadURL = await ProviderInstance.getDownloadUrl(
|
||||
resolvedIpfsAssetDdo.id,
|
||||
resolvedIpfsAssetDdo.services[0].id,
|
||||
0,
|
||||
ipfsOrderTx.transactionHash,
|
||||
providerUrl,
|
||||
consumerAccount
|
||||
)
|
||||
assert(ipfsDownloadURL, 'Provider getDownloadUrl failed for ipfs dataset')
|
||||
try {
|
||||
await downloadFile(ipfsDownloadURL)
|
||||
} catch (e) {
|
||||
assert.fail(`Download ipfs dataset failed ${e}`)
|
||||
}
|
||||
const onchainDownloadURL = await ProviderInstance.getDownloadUrl(
|
||||
resolvedOnchainAssetDdo.id,
|
||||
resolvedOnchainAssetDdo.services[0].id,
|
||||
0,
|
||||
onchainOrderTx.transactionHash,
|
||||
providerUrl,
|
||||
consumerAccount
|
||||
)
|
||||
assert(onchainDownloadURL, 'Provider getDownloadUrl failed for onchain dataset')
|
||||
try {
|
||||
await downloadFile(onchainDownloadURL)
|
||||
} catch (e) {
|
||||
assert.fail(`Download onchain dataset failed ${e}`)
|
||||
}
|
||||
const graphqlDownloadURL = await ProviderInstance.getDownloadUrl(
|
||||
resolvedGraphqlAssetDdo.id,
|
||||
resolvedGraphqlAssetDdo.services[0].id,
|
||||
0,
|
||||
grapqlOrderTx.transactionHash,
|
||||
providerUrl,
|
||||
consumerAccount
|
||||
)
|
||||
assert(graphqlDownloadURL, 'Provider getDownloadUrl failed for graphql dataset')
|
||||
try {
|
||||
await downloadFile(graphqlDownloadURL)
|
||||
} catch (e) {
|
||||
assert.fail(`Download graphql dataset failed ${e}`)
|
||||
}
|
||||
})
|
||||
|
||||
it('Should update datasets metadata', async () => {
|
||||
|
@ -180,8 +180,6 @@ export async function orderAsset(
|
||||
providerUrl
|
||||
)
|
||||
|
||||
console.log('intialized', initializeData)
|
||||
|
||||
const providerFees: ProviderFees = {
|
||||
providerFeeAddress: initializeData.providerFee.providerFeeAddress,
|
||||
providerFeeToken: initializeData.providerFee.providerFeeToken,
|
||||
@ -194,11 +192,13 @@ export async function orderAsset(
|
||||
}
|
||||
|
||||
// make the payment
|
||||
const orderTx = await datatoken.startOrder(
|
||||
const tx = await datatoken.startOrder(
|
||||
datatokenAddress,
|
||||
consumerAccount,
|
||||
0,
|
||||
providerFees
|
||||
)
|
||||
return orderTx
|
||||
const orderTx = await tx.wait()
|
||||
const OrderStartedTx = getEventFromTx(orderTx, 'OrderStarted')
|
||||
return OrderStartedTx
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user