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