mirror of
https://github.com/oceanprotocol/ocean.js.git
synced 2024-11-26 20:39:05 +01:00
Multichain Provider (#1698)
* added chainId param to encrypt method * updated tests & examples
This commit is contained in:
parent
849c575d08
commit
5a29fefd3b
23
CHANGELOG.md
23
CHANGELOG.md
@ -4,9 +4,32 @@ All notable changes to this project will be documented in this file. Dates are d
|
||||
|
||||
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
||||
|
||||
#### [v2.7.0-next.2](https://github.com/oceanprotocol/ocean.js/compare/v2.7.0-next.1...v2.7.0-next.2)
|
||||
|
||||
- fix isValid provider method [`010306c`](https://github.com/oceanprotocol/ocean.js/commit/010306c92e003021b08df0b8b8ad6743ae6b240c)
|
||||
|
||||
#### [v2.7.0-next.1](https://github.com/oceanprotocol/ocean.js/compare/v2.7.0-next.0...v2.7.0-next.1)
|
||||
|
||||
> 22 February 2023
|
||||
|
||||
- Release 2.7.0-next.0 [`500062b`](https://github.com/oceanprotocol/ocean.js/commit/500062beb575b21ab7210a675bdf5174d11842c8)
|
||||
- Updating CodeExamples.md [`6cc891a`](https://github.com/oceanprotocol/ocean.js/commit/6cc891a5da9e4042e3eee243b651e8a7188d1786)
|
||||
- Release 2.7.0-next.1 [`ba27412`](https://github.com/oceanprotocol/ocean.js/commit/ba2741296167de4c112560f2807b1a45e86eba94)
|
||||
|
||||
#### [v2.7.0-next.0](https://github.com/oceanprotocol/ocean.js/compare/v2.6.3...v2.7.0-next.0)
|
||||
|
||||
> 21 February 2023
|
||||
|
||||
- add needed multichain provider changes [`95551ee`](https://github.com/oceanprotocol/ocean.js/commit/95551eeb669395357149dd923ecec304955add14)
|
||||
- Release 2.7.0-next.0 [`95886a1`](https://github.com/oceanprotocol/ocean.js/commit/95886a184faadd4a13e857e285e016ef4c20966f)
|
||||
- fix code example [`c4a00e4`](https://github.com/oceanprotocol/ocean.js/commit/c4a00e45848ace6a4fe3d4fa1a2aeac518aa44ce)
|
||||
|
||||
#### [v2.6.3](https://github.com/oceanprotocol/ocean.js/compare/v2.6.2...v2.6.3)
|
||||
|
||||
> 13 February 2023
|
||||
|
||||
- add macOS readme message [`#1697`](https://github.com/oceanprotocol/ocean.js/pull/1697)
|
||||
- Release 2.6.3 [`53f0c53`](https://github.com/oceanprotocol/ocean.js/commit/53f0c536a9bc683676a513edb61faf2dfd9c0262)
|
||||
|
||||
#### [v2.6.2](https://github.com/oceanprotocol/ocean.js/compare/v2.6.1...v2.6.2)
|
||||
|
||||
|
@ -350,7 +350,11 @@ Next, let's encrypt the file(s) using provider
|
||||
```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 @@ Now let's console log the DID to check everything is working
|
||||
```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 @@ Now we need to encrypt file(s) using provider
|
||||
```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(
|
||||
|
@ -329,7 +329,7 @@ async function createAsset(
|
||||
// Next we encrypt the file or files using Ocean Provider. The provider is an off chain proxy built specifically for this task
|
||||
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
|
||||
@ -338,7 +338,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)
|
||||
|
||||
@ -583,7 +583,9 @@ Now, let's check that we successfully published a algorithm (create NFT + Datato
|
||||
### 10.1 Start a compute job using a free C2D environment
|
||||
let's check the free compute environment
|
||||
```Typescript
|
||||
const computeEnv = computeEnvs.find((ce) => ce.priceMin === 0)
|
||||
const computeEnv = computeEnvs[resolvedDatasetDdo.chainId].find(
|
||||
(ce) => ce.priceMin === 0
|
||||
)
|
||||
console.log('Free compute environment = ', computeEnv)
|
||||
```
|
||||
<!--
|
||||
|
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@oceanprotocol/lib",
|
||||
"version": "2.6.3",
|
||||
"version": "2.7.0-next.2",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@oceanprotocol/lib",
|
||||
"version": "2.6.3",
|
||||
"version": "2.7.0-next.2",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@oceanprotocol/contracts": "^1.1.8",
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@oceanprotocol/lib",
|
||||
"source": "./src/index.ts",
|
||||
"version": "2.6.3",
|
||||
"version": "2.7.0-next.2",
|
||||
"description": "JavaScript client library for Ocean Protocol",
|
||||
"main": "./dist/lib.js",
|
||||
"umd:main": "dist/lib.umd.js",
|
||||
|
@ -8,7 +8,7 @@ const configHelperNetworksBase: Config = {
|
||||
network: 'unknown',
|
||||
metadataCacheUri: 'https://v4.aquarius.oceanprotocol.com',
|
||||
nodeUri: 'http://127.0.0.1:8545',
|
||||
providerUri: 'http://127.0.0.1:8030',
|
||||
providerUri: 'https://v4.provider.oceanprotocol.com',
|
||||
subgraphUri: null,
|
||||
explorerUri: null,
|
||||
oceanTokenAddress: null,
|
||||
@ -40,7 +40,6 @@ export const configHelperNetworks: Config[] = [
|
||||
chainId: 5,
|
||||
network: 'goerli',
|
||||
nodeUri: 'https://goerli.infura.io/v3',
|
||||
providerUri: 'https://v4.provider.goerli.oceanprotocol.com',
|
||||
subgraphUri: 'https://v4.subgraph.goerli.oceanprotocol.com',
|
||||
explorerUri: 'https://goerli.etherscan.io',
|
||||
gasFeeMultiplier: 1.1
|
||||
@ -50,7 +49,6 @@ export const configHelperNetworks: Config[] = [
|
||||
chainId: 1,
|
||||
network: 'mainnet',
|
||||
nodeUri: 'https://mainnet.infura.io/v3',
|
||||
providerUri: 'https://v4.provider.mainnet.oceanprotocol.com',
|
||||
subgraphUri: 'https://v4.subgraph.mainnet.oceanprotocol.com',
|
||||
explorerUri: 'https://etherscan.io',
|
||||
startBlock: 11105459,
|
||||
@ -64,7 +62,6 @@ export const configHelperNetworks: Config[] = [
|
||||
chainId: 137,
|
||||
network: 'polygon',
|
||||
nodeUri: 'https://polygon-mainnet.infura.io/v3',
|
||||
providerUri: 'https://v4.provider.polygon.oceanprotocol.com',
|
||||
subgraphUri: 'https://v4.subgraph.polygon.oceanprotocol.com',
|
||||
explorerUri: 'https://polygonscan.com',
|
||||
oceanTokenSymbol: 'mOCEAN',
|
||||
@ -84,7 +81,6 @@ export const configHelperNetworks: Config[] = [
|
||||
chainId: 80001,
|
||||
network: 'mumbai',
|
||||
nodeUri: 'https://polygon-mumbai.infura.io/v3',
|
||||
providerUri: 'https://v4.provider.mumbai.oceanprotocol.com',
|
||||
subgraphUri: 'https://v4.subgraph.mumbai.oceanprotocol.com',
|
||||
explorerUri: 'https://mumbai.polygonscan.com',
|
||||
gasFeeMultiplier: 1.1
|
||||
@ -94,7 +90,6 @@ export const configHelperNetworks: Config[] = [
|
||||
chainId: 56,
|
||||
network: 'bsc',
|
||||
nodeUri: 'https://bsc-dataseed.binance.org',
|
||||
providerUri: 'https://v4.provider.bsc.oceanprotocol.com',
|
||||
subgraphUri: 'https://v4.subgraph.bsc.oceanprotocol.com',
|
||||
explorerUri: 'https://bscscan.com/',
|
||||
gasFeeMultiplier: 1.05
|
||||
@ -104,7 +99,6 @@ export const configHelperNetworks: Config[] = [
|
||||
chainId: 246,
|
||||
network: 'energyweb',
|
||||
nodeUri: 'https://rpc.energyweb.org',
|
||||
providerUri: 'https://v4.provider.energyweb.oceanprotocol.com',
|
||||
subgraphUri: 'https://v4.subgraph.energyweb.oceanprotocol.com',
|
||||
explorerUri: 'https://explorer.energyweb.org',
|
||||
gasFeeMultiplier: 1.05
|
||||
@ -114,7 +108,6 @@ export const configHelperNetworks: Config[] = [
|
||||
chainId: 1285,
|
||||
network: 'moonriver',
|
||||
nodeUri: 'https://moonriver.api.onfinality.io/public',
|
||||
providerUri: 'https://v4.provider.moonriver.oceanprotocol.com',
|
||||
subgraphUri: 'https://v4.subgraph.moonriver.oceanprotocol.com',
|
||||
explorerUri: 'https://moonriver.moonscan.io/',
|
||||
gasFeeMultiplier: 1.05
|
||||
|
@ -117,12 +117,14 @@ export class Provider {
|
||||
|
||||
/** Encrypt data using the Provider's own symmetric key
|
||||
* @param {string} data data in json format that needs to be sent , it can either be a DDO or a File array
|
||||
* @param {number} chainId network's id so provider can choose the corresponding web3 object
|
||||
* @param {string} providerUri provider uri address
|
||||
* @param {AbortSignal} signal abort signal
|
||||
* @return {Promise<string>} urlDetails
|
||||
*/
|
||||
public async encrypt(
|
||||
data: any,
|
||||
chainId: number,
|
||||
providerUri: string,
|
||||
signal?: AbortSignal
|
||||
): Promise<string> {
|
||||
@ -131,9 +133,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, {
|
||||
@ -747,7 +750,7 @@ export class Provider {
|
||||
})
|
||||
if (response?.ok) {
|
||||
const params = await response.json()
|
||||
if (params && params.providerAddress) return true
|
||||
if (params && (params.providerAddress || params.providerAddresses)) return true
|
||||
}
|
||||
return false
|
||||
} catch (error) {
|
||||
|
@ -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(
|
||||
|
@ -329,7 +329,7 @@ async function createAsset(
|
||||
// Next we encrypt the file or files using Ocean Provider. The provider is an off chain proxy built specifically for this task
|
||||
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
|
||||
@ -338,7 +338,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)
|
||||
|
||||
@ -583,7 +583,9 @@ describe('Compute-to-data example tests', async () => {
|
||||
it('10.1 Start a compute job using a free C2D environment', async () => {
|
||||
/// let's check the free compute environment
|
||||
/// ```Typescript
|
||||
const computeEnv = computeEnvs.find((ce) => ce.priceMin === 0)
|
||||
const computeEnv = computeEnvs[resolvedDatasetDdo.chainId].find(
|
||||
(ce) => ce.priceMin === 0
|
||||
)
|
||||
console.log('Free compute environment = ', computeEnv)
|
||||
/// ```
|
||||
/// <!--
|
||||
|
@ -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')
|
||||
@ -486,7 +486,9 @@ describe('Simple compute tests', async () => {
|
||||
computeValidUntil = Math.floor(mytime.getTime() / 1000)
|
||||
|
||||
// we choose the free env
|
||||
const computeEnv = computeEnvs.find((ce) => ce.priceMin === 0)
|
||||
const computeEnv = computeEnvs[resolvedDdoWith5mTimeout.chainId].find(
|
||||
(ce) => ce.priceMin === 0
|
||||
)
|
||||
assert(computeEnv, 'Cannot find the free compute env')
|
||||
|
||||
const assets: ComputeAsset[] = [
|
||||
@ -562,7 +564,9 @@ describe('Simple compute tests', async () => {
|
||||
// move to start orders with initial txid's and provider fees
|
||||
it('should restart a computeJob without paying anything, because order is valid and providerFees are still valid', async () => {
|
||||
// we choose the free env
|
||||
const computeEnv = computeEnvs.find((ce) => ce.priceMin === 0)
|
||||
const computeEnv = computeEnvs[resolvedDdoWith5mTimeout.chainId].find(
|
||||
(ce) => ce.priceMin === 0
|
||||
)
|
||||
assert(computeEnv, 'Cannot find the free compute env')
|
||||
|
||||
const assets: ComputeAsset[] = [
|
||||
@ -623,7 +627,9 @@ describe('Simple compute tests', async () => {
|
||||
|
||||
it('should start a computeJob on a paid environment', async () => {
|
||||
// we choose the paid env
|
||||
const computeEnv = computeEnvs.find((ce) => ce.priceMin !== 0)
|
||||
const computeEnv = computeEnvs[resolvedDdoWith5mTimeout.chainId].find(
|
||||
(ce) => ce.priceMin !== 0
|
||||
)
|
||||
assert(computeEnv, 'Cannot find the paid compute env')
|
||||
|
||||
const assets: ComputeAsset[] = [
|
||||
@ -695,7 +701,9 @@ describe('Simple compute tests', async () => {
|
||||
|
||||
it('should restart a computeJob on paid environment, without paying anything, because order is valid and providerFees are still valid', async () => {
|
||||
// we choose the paid env
|
||||
const computeEnv = computeEnvs.find((ce) => ce.priceMin !== 0)
|
||||
const computeEnv = computeEnvs[resolvedDdoWith5mTimeout.chainId].find(
|
||||
(ce) => ce.priceMin !== 0
|
||||
)
|
||||
assert(computeEnv, 'Cannot find the free compute env')
|
||||
|
||||
const assets: ComputeAsset[] = [
|
||||
@ -764,7 +772,9 @@ describe('Simple compute tests', async () => {
|
||||
|
||||
it('should start a computeJob using the free environment, by paying only providerFee (reuseOrder)', async () => {
|
||||
// we choose the free env
|
||||
const computeEnv = computeEnvs.find((ce) => ce.priceMin === 0)
|
||||
const computeEnv = computeEnvs[resolvedDdoWith5mTimeout.chainId].find(
|
||||
(ce) => ce.priceMin === 0
|
||||
)
|
||||
assert(computeEnv, 'Cannot find the free compute env')
|
||||
|
||||
const assets: ComputeAsset[] = [
|
||||
@ -844,7 +854,9 @@ describe('Simple compute tests', async () => {
|
||||
|
||||
it('should start a computeJob using the paid environment, by paying only providerFee (reuseOrder)', async () => {
|
||||
// we choose the paid env
|
||||
const computeEnv = computeEnvs.find((ce) => ce.priceMin !== 0)
|
||||
const computeEnv = computeEnvs[resolvedDdoWith5mTimeout.chainId].find(
|
||||
(ce) => ce.priceMin !== 0
|
||||
)
|
||||
assert(computeEnv, 'Cannot find the free compute env')
|
||||
|
||||
const assets: ComputeAsset[] = [
|
||||
|
@ -146,14 +146,15 @@ 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 +162,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 +222,13 @@ 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,16 @@ 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