mirror of
https://github.com/oceanprotocol/ocean.js.git
synced 2024-11-26 20:39:05 +01:00
Merge 98c71cb1c216d9ed80fc562987c53292caf2efd7 into 4de136114010af3e8ce23386acaa2c41512c912e
This commit is contained in:
commit
801aff6080
@ -123,6 +123,7 @@ export class Provider {
|
||||
*/
|
||||
public async encrypt(
|
||||
data: any,
|
||||
chainId: number,
|
||||
providerUri: string,
|
||||
signal?: AbortSignal
|
||||
): Promise<string> {
|
||||
@ -131,9 +132,10 @@ export class Provider {
|
||||
providerUri,
|
||||
providerEndpoints
|
||||
)
|
||||
const path = this.getEndpointURL(serviceEndpoints, 'encrypt')
|
||||
? this.getEndpointURL(serviceEndpoints, 'encrypt').urlPath
|
||||
: null
|
||||
const path =
|
||||
(this.getEndpointURL(serviceEndpoints, 'encrypt')
|
||||
? this.getEndpointURL(serviceEndpoints, 'encrypt').urlPath
|
||||
: null) + `?chainId=${chainId}`
|
||||
if (!path) return null
|
||||
try {
|
||||
const response = await fetch(path, {
|
||||
|
@ -350,7 +350,11 @@ describe('Marketplace flow tests', async () => {
|
||||
/// ```Typescript
|
||||
ASSET_URL.datatokenAddress = freDatatokenAddress
|
||||
ASSET_URL.nftAddress = freNftAddress
|
||||
const encryptedFiles = await ProviderInstance.encrypt(ASSET_URL, providerUrl)
|
||||
const encryptedFiles = await ProviderInstance.encrypt(
|
||||
ASSET_URL,
|
||||
DDO.chainId,
|
||||
providerUrl
|
||||
)
|
||||
DDO.services[0].files = await encryptedFiles
|
||||
DDO.services[0].datatokenAddress = freDatatokenAddress
|
||||
|
||||
@ -359,7 +363,7 @@ describe('Marketplace flow tests', async () => {
|
||||
/// ```Typescript
|
||||
console.log(`DID: ${DDO.id}`)
|
||||
|
||||
const providerResponse = await ProviderInstance.encrypt(DDO, providerUrl)
|
||||
const providerResponse = await ProviderInstance.encrypt(DDO, DDO.chainId, providerUrl)
|
||||
const encryptedDDO = await providerResponse
|
||||
const metadataHash = getHash(JSON.stringify(DDO))
|
||||
await nft.setMetadata(
|
||||
@ -567,13 +571,17 @@ describe('Marketplace flow tests', async () => {
|
||||
/// ```Typescript
|
||||
ASSET_URL.datatokenAddress = dispenserDatatokenAddress
|
||||
ASSET_URL.nftAddress = dispenserNftAddress
|
||||
const encryptedFiles = await ProviderInstance.encrypt(ASSET_URL, providerUrl)
|
||||
const encryptedFiles = await ProviderInstance.encrypt(
|
||||
ASSET_URL,
|
||||
DDO.chainId,
|
||||
providerUrl
|
||||
)
|
||||
DDO.services[0].files = await encryptedFiles
|
||||
DDO.services[0].datatokenAddress = dispenserDatatokenAddress
|
||||
|
||||
console.log(`DID: ${DDO.id}`)
|
||||
|
||||
const providerResponse = await ProviderInstance.encrypt(DDO, providerUrl)
|
||||
const providerResponse = await ProviderInstance.encrypt(DDO, DDO.chainId, providerUrl)
|
||||
const encryptedDDO = await providerResponse
|
||||
const metadataHash = getHash(JSON.stringify(DDO))
|
||||
await nft.setMetadata(
|
||||
|
@ -276,7 +276,7 @@ async function createAsset(
|
||||
// create the files encrypted string
|
||||
assetUrl.datatokenAddress = datatokenAddressAsset
|
||||
assetUrl.nftAddress = ddo.nftAddress
|
||||
let providerResponse = await ProviderInstance.encrypt(assetUrl, providerUrl)
|
||||
let providerResponse = await ProviderInstance.encrypt(assetUrl, chain, providerUrl)
|
||||
ddo.services[0].files = await providerResponse
|
||||
ddo.services[0].datatokenAddress = datatokenAddressAsset
|
||||
ddo.services[0].serviceEndpoint = providerUrl
|
||||
@ -284,7 +284,7 @@ async function createAsset(
|
||||
ddo.nftAddress = web3.utils.toChecksumAddress(nftAddress)
|
||||
ddo.id =
|
||||
'did:op:' + SHA256(web3.utils.toChecksumAddress(nftAddress) + chain.toString(10))
|
||||
providerResponse = await ProviderInstance.encrypt(ddo, providerUrl)
|
||||
providerResponse = await ProviderInstance.encrypt(ddo, chain, providerUrl)
|
||||
const encryptedResponse = await providerResponse
|
||||
const validateResult = await aquarius.validate(ddo)
|
||||
assert(validateResult.valid, 'Could not validate metadata')
|
||||
|
@ -146,14 +146,14 @@ describe('Publish tests', async () => {
|
||||
const datatokenAddress = bundleNFT.events.TokenCreated.returnValues[0]
|
||||
assetUrl.datatokenAddress = datatokenAddress
|
||||
assetUrl.nftAddress = nftAddress
|
||||
const encryptedFiles = await ProviderInstance.encrypt(assetUrl, providerUrl)
|
||||
const chain = await web3.eth.getChainId()
|
||||
const encryptedFiles = await ProviderInstance.encrypt(assetUrl, chain, providerUrl)
|
||||
|
||||
fixedPriceDdo.metadata.name = 'test-dataset-fixedPrice'
|
||||
fixedPriceDdo.services[0].files = await encryptedFiles
|
||||
fixedPriceDdo.services[0].datatokenAddress = datatokenAddress
|
||||
|
||||
fixedPriceDdo.nftAddress = nftAddress
|
||||
const chain = await web3.eth.getChainId()
|
||||
fixedPriceDdo.chainId = chain
|
||||
fixedPriceDdo.id =
|
||||
'did:op:' + SHA256(web3.utils.toChecksumAddress(nftAddress) + chain.toString(10))
|
||||
@ -161,7 +161,7 @@ describe('Publish tests', async () => {
|
||||
const isAssetValid: ValidateMetadata = await aquarius.validate(fixedPriceDdo)
|
||||
assert(isAssetValid.valid === true, 'Published asset is not valid')
|
||||
|
||||
const encryptedDdo = await ProviderInstance.encrypt(fixedPriceDdo, providerUrl)
|
||||
const encryptedDdo = await ProviderInstance.encrypt(fixedPriceDdo, chain, providerUrl)
|
||||
const encryptedResponse = await encryptedDdo
|
||||
const metadataHash = getHash(JSON.stringify(fixedPriceDdo))
|
||||
// this is publishing with an explicit empty metadataProofs
|
||||
@ -221,13 +221,14 @@ describe('Publish tests', async () => {
|
||||
const datatokenAddress = bundleNFT.events.TokenCreated.returnValues[0]
|
||||
assetUrl.datatokenAddress = datatokenAddress
|
||||
assetUrl.nftAddress = nftAddress
|
||||
const encryptedFiles = await ProviderInstance.encrypt(assetUrl, providerUrl)
|
||||
const chain = await web3.eth.getChainId()
|
||||
|
||||
const encryptedFiles = await ProviderInstance.encrypt(assetUrl, chain, providerUrl)
|
||||
dispenserDdo.metadata.name = 'test-dataset-dispenser'
|
||||
dispenserDdo.services[0].files = await encryptedFiles
|
||||
dispenserDdo.services[0].datatokenAddress = datatokenAddress
|
||||
|
||||
dispenserDdo.nftAddress = nftAddress
|
||||
const chain = await web3.eth.getChainId()
|
||||
dispenserDdo.chainId = chain
|
||||
dispenserDdo.id =
|
||||
'did:op:' + SHA256(web3.utils.toChecksumAddress(nftAddress) + chain.toString(10))
|
||||
@ -235,7 +236,7 @@ describe('Publish tests', async () => {
|
||||
const isAssetValid: ValidateMetadata = await aquarius.validate(dispenserDdo)
|
||||
assert(isAssetValid.valid === true, 'Published asset is not valid')
|
||||
|
||||
const encryptedDdo = await ProviderInstance.encrypt(dispenserDdo, providerUrl)
|
||||
const encryptedDdo = await ProviderInstance.encrypt(dispenserDdo, chain, providerUrl)
|
||||
const encryptedResponse = await encryptedDdo
|
||||
const metadataHash = getHash(JSON.stringify(dispenserDdo))
|
||||
// this is publishing with any explicit metadataProofs
|
||||
|
@ -148,16 +148,17 @@ describe('Simple Publish & consume test', async () => {
|
||||
// create the files encrypted string
|
||||
assetUrl.datatokenAddress = datatokenAddress
|
||||
assetUrl.nftAddress = nftAddress
|
||||
let providerResponse = await ProviderInstance.encrypt(assetUrl, providerUrl)
|
||||
const chain = await web3.eth.getChainId()
|
||||
|
||||
let providerResponse = await ProviderInstance.encrypt(assetUrl, chain, providerUrl)
|
||||
ddo.services[0].files = await providerResponse
|
||||
ddo.services[0].datatokenAddress = datatokenAddress
|
||||
// update ddo and set the right did
|
||||
ddo.nftAddress = nftAddress
|
||||
const chain = await web3.eth.getChainId()
|
||||
ddo.id =
|
||||
'did:op:' + SHA256(web3.utils.toChecksumAddress(nftAddress) + chain.toString(10))
|
||||
|
||||
providerResponse = await ProviderInstance.encrypt(ddo, providerUrl)
|
||||
providerResponse = await ProviderInstance.encrypt(ddo, chain, providerUrl)
|
||||
const encryptedResponse = await providerResponse
|
||||
const metadataHash = getHash(JSON.stringify(ddo))
|
||||
await nft.setMetadata(
|
||||
|
Loading…
x
Reference in New Issue
Block a user