diff --git a/src/keeper/contracts/ServiceAgreement.ts b/src/keeper/contracts/ServiceAgreement.ts index c2637b4..9b55c69 100644 --- a/src/keeper/contracts/ServiceAgreement.ts +++ b/src/keeper/contracts/ServiceAgreement.ts @@ -49,7 +49,7 @@ export default class ServiceAgreement extends ContractBase { return this.send("executeAgreement", publisherAddress, [ serviceAgreementTemplateId, serviceAgreementSignatureHash, consumerAddress, valueHashes, - timeoutValues, serviceAgreementId, "0x" + did.replace("did:op:", ""), + timeoutValues, "0x" + serviceAgreementId, "0x" + did.replace("did:op:", ""), ]) } } diff --git a/src/ocean/IdGenerator.ts b/src/ocean/IdGenerator.ts index 9fc37f9..d8d8b8a 100644 --- a/src/ocean/IdGenerator.ts +++ b/src/ocean/IdGenerator.ts @@ -5,8 +5,4 @@ export default class IdGenerator { const id = `${v4()}${v4()}` return id.replace(/-/g, "") } - - public static generatePrefixedId() { - return "0x" + this.generateId() - } } diff --git a/src/ocean/Ocean.ts b/src/ocean/Ocean.ts index 8c29fae..1364fd0 100644 --- a/src/ocean/Ocean.ts +++ b/src/ocean/Ocean.ts @@ -158,7 +158,7 @@ export default class Ocean { const ddo = await AquariusProvider.getAquarius().retrieveDDO(did) const id = did.replace("did:op:", "") - const serviceAgreementId: string = IdGenerator.generatePrefixedId() + const serviceAgreementId: string = IdGenerator.generateId() try { const serviceAgreementSignature: string = await ServiceAgreement.signServiceAgreement(id, diff --git a/src/ocean/ServiceAgreements/ServiceAgreement.ts b/src/ocean/ServiceAgreements/ServiceAgreement.ts index c5e6f37..2427271 100644 --- a/src/ocean/ServiceAgreements/ServiceAgreement.ts +++ b/src/ocean/ServiceAgreements/ServiceAgreement.ts @@ -172,7 +172,7 @@ export default class ServiceAgreement extends OceanBase { {type: "bytes32[]", value: conditionKeys} as ValuePair, {type: "bytes32[]", value: valueHashes} as ValuePair, {type: "uint256[]", value: timeouts} as ValuePair, - {type: "bytes32", value: serviceAgreementId} as ValuePair, + {type: "bytes32", value: "0x" + serviceAgreementId} as ValuePair, ] return Web3Provider.getWeb3().utils.soliditySha3(...args).toString("hex") diff --git a/src/squid.ts b/src/squid.ts index 0ba2029..6968386 100644 --- a/src/squid.ts +++ b/src/squid.ts @@ -1,3 +1,4 @@ +import EventListener from "./keeper/EventListener" import Account from "./ocean/Account" import Ocean from "./ocean/Ocean" import ServiceAgreement from "./ocean/ServiceAgreements/ServiceAgreement" @@ -5,7 +6,6 @@ import ServiceAgreementTemplate from "./ocean/ServiceAgreements/ServiceAgreement import Access from "./ocean/ServiceAgreements/Templates/Access" import FitchainCompute from "./ocean/ServiceAgreements/Templates/FitchainCompute" import Logger from "./utils/Logger" -import EventListener from "./keeper/EventListener" const Templates = {Access, FitchainCompute} diff --git a/test/TestIdGenerator.ts b/test/TestIdGenerator.ts new file mode 100644 index 0000000..7742b22 --- /dev/null +++ b/test/TestIdGenerator.ts @@ -0,0 +1,7 @@ +import IdGenerator from "../src/ocean/IdGenerator" + +export default class TestIdGenerator extends IdGenerator { + public static generatePrefixedId() { + return "0x" + this.generateId() + } +} diff --git a/test/aquarius/Aquarius.test.ts b/test/aquarius/Aquarius.test.ts index cb8d8b8..8b8a031 100644 --- a/test/aquarius/Aquarius.test.ts +++ b/test/aquarius/Aquarius.test.ts @@ -85,7 +85,7 @@ describe("Aquarius", () => { it("should store a ddo", async () => { - const did: string = `did:op:${IdGenerator.generatePrefixedId()}` + const did: string = `did:op:${IdGenerator.generateId()}` const ddo: DDO = new DDO({ id: did, }) @@ -103,7 +103,7 @@ describe("Aquarius", () => { it("should store a ddo", async () => { - const did: string = `did:op:${IdGenerator.generatePrefixedId()}` + const did: string = `did:op:${IdGenerator.generateId()}` const ddo: DDO = new DDO({ id: did, }) diff --git a/test/ocean/IdGenerator.test.ts b/test/ocean/IdGenerator.test.ts index db42746..2154bee 100644 --- a/test/ocean/IdGenerator.test.ts +++ b/test/ocean/IdGenerator.test.ts @@ -23,31 +23,4 @@ describe("IdGenerator", () => { assert(id.indexOf("-") === -1) }) }) - - describe("#generatePrefixedId()", () => { - - it("should generate an id", async () => { - - const id = IdGenerator.generatePrefixedId() - assert(id) - }) - - it("should generate an id that is 64 chars long", async () => { - - const id: string = IdGenerator.generatePrefixedId() - assert(id.length === 66, id) - }) - - it("should be prefixed", async () => { - - const id: string = IdGenerator.generatePrefixedId() - assert(id.startsWith("0x")) - }) - - it("should not contain -", async () => { - - const id: string = IdGenerator.generatePrefixedId() - assert(id.indexOf("-") === -1) - }) - }) }) diff --git a/test/ocean/ServiceAgreement.test.ts b/test/ocean/ServiceAgreement.test.ts index c68ba7e..d2349e1 100644 --- a/test/ocean/ServiceAgreement.test.ts +++ b/test/ocean/ServiceAgreement.test.ts @@ -60,7 +60,7 @@ describe("ServiceAgreement", () => { const did: string = `did:op:${assetId}` const ddo = new DDO({id: did, service: [accessService]}) - const serviceAgreementId: string = IdGenerator.generatePrefixedId() + const serviceAgreementId: string = IdGenerator.generateId() // @ts-ignore WebServiceConnectorProvider.setConnector(new WebServiceConnectorMock(ddo)) @@ -80,7 +80,7 @@ describe("ServiceAgreement", () => { const did: string = `did:op:${assetId}` const ddo = new DDO({id: did, service: [accessService]}) - const serviceAgreementId: string = IdGenerator.generatePrefixedId() + const serviceAgreementId: string = IdGenerator.generateId() // @ts-ignore WebServiceConnectorProvider.setConnector(new WebServiceConnectorMock(ddo)) @@ -104,7 +104,7 @@ describe("ServiceAgreement", () => { const did: string = `did:op:${assetId}` const ddo = new DDO({id: did, service: [accessService]}) - const serviceAgreementId: string = IdGenerator.generatePrefixedId() + const serviceAgreementId: string = IdGenerator.generateId() // @ts-ignore WebServiceConnectorProvider.setConnector(new WebServiceConnectorMock(ddo)) @@ -128,7 +128,7 @@ describe("ServiceAgreement", () => { const did: string = `did:op:${assetId}` const ddo = new DDO({id: did, service: [accessService, metaDataService]}) - const serviceAgreementId: string = IdGenerator.generatePrefixedId() + const serviceAgreementId: string = IdGenerator.generateId() // @ts-ignore WebServiceConnectorProvider.setConnector(new WebServiceConnectorMock(ddo)) @@ -157,7 +157,7 @@ describe("ServiceAgreement", () => { const did: string = `did:op:${assetId}` const ddo = new DDO({id: did, service: [accessService]}) - const serviceAgreementId: string = IdGenerator.generatePrefixedId() + const serviceAgreementId: string = IdGenerator.generateId() // @ts-ignore WebServiceConnectorProvider.setConnector(new WebServiceConnectorMock(ddo)) @@ -187,7 +187,7 @@ describe("ServiceAgreement", () => { const did: string = `did:op:${assetId}` const ddo = new DDO({id: did, service: [accessService]}) - const serviceAgreementId: string = IdGenerator.generatePrefixedId() + const serviceAgreementId: string = IdGenerator.generateId() // @ts-ignore WebServiceConnectorProvider.setConnector(new WebServiceConnectorMock(ddo)) diff --git a/test/ocean/ServiceAgreementTemplate.test.ts b/test/ocean/ServiceAgreementTemplate.test.ts index f351f50..8a7cc27 100644 --- a/test/ocean/ServiceAgreementTemplate.test.ts +++ b/test/ocean/ServiceAgreementTemplate.test.ts @@ -2,13 +2,13 @@ import {assert} from "chai" import ConfigProvider from "../../src/ConfigProvider" import MetaData from "../../src/ddo/MetaData" import Account from "../../src/ocean/Account" -import IdGenerator from "../../src/ocean/IdGenerator" import Ocean from "../../src/ocean/Ocean" import ServiceAgreementTemplate from "../../src/ocean/ServiceAgreements/ServiceAgreementTemplate" import Access from "../../src/ocean/ServiceAgreements/Templates/Access" import TemplateBase from "../../src/ocean/ServiceAgreements/Templates/TemplateBase" import config from "../config" import TestContractHandler from "../keeper/TestContractHandler" +import TestIdGenerator from "../TestIdGenerator" let ocean: Ocean let accounts: Account[] @@ -27,7 +27,7 @@ describe("ServiceAgreementTemplate", () => { const templateOwner = accounts[0] const access: TemplateBase = new Access() - access.id = IdGenerator.generatePrefixedId() + access.id = TestIdGenerator.generatePrefixedId() const serviceAgreementTemplate: ServiceAgreementTemplate = new ServiceAgreementTemplate(access) assert(serviceAgreementTemplate) @@ -44,12 +44,13 @@ describe("ServiceAgreementTemplate", () => { it("should setup an Access agreement template correctly", async () => { const access: TemplateBase = new Access() - access.id = IdGenerator.generatePrefixedId() + access.id = TestIdGenerator.generatePrefixedId() const serviceAgreementTemplate: ServiceAgreementTemplate = new ServiceAgreementTemplate(access) assert(serviceAgreementTemplate) - const conds = await serviceAgreementTemplate.getConditions(new MetaData(), IdGenerator.generatePrefixedId()) + const conds = await serviceAgreementTemplate.getConditions(new MetaData(), + TestIdGenerator.generatePrefixedId()) assert(conds) }) }) @@ -59,7 +60,7 @@ describe("ServiceAgreementTemplate", () => { const publisherAccount = accounts[0] const access: TemplateBase = new Access() - access.id = IdGenerator.generatePrefixedId() + access.id = TestIdGenerator.generatePrefixedId() const serviceAgreementTemplate: ServiceAgreementTemplate = new ServiceAgreementTemplate(access) assert(serviceAgreementTemplate)