1
0
mirror of https://github.com/oceanprotocol-archive/squid-js.git synced 2024-02-02 15:31:51 +01:00

new access template

This commit is contained in:
Sebastian Gerske 2018-12-07 15:19:16 +01:00
parent d4b6366a4a
commit ce7027590e
7 changed files with 45 additions and 37 deletions

View File

@ -1,7 +1,7 @@
import EventHandlers from "./EventHandlers" import EventHandler from "./EventHandler"
export default class Event { export default class Event {
public name: string public name: string
public actorType: string[] public actorType: string
public handlers: EventHandlers public handler: EventHandler
} }

View File

@ -1,4 +1,4 @@
export default class EventHandlers { export default class EventHandler {
public moduleName: string = "serviceAgreement" public moduleName: string = "serviceAgreement"
public functionName: string = "fulfillAgreement" public functionName: string = "fulfillAgreement"
public version: string = "0.1" public version: string = "0.1"

View File

@ -64,10 +64,11 @@ export default class Keeper {
network = "Kovan" network = "Kovan"
break break
case 8996: case 8996:
network = "Ocean_POA_net_local" network = "Spree"
// network = "ocean_poa_net_local"
break break
case 8995: case 8995:
network = "Ocean_POA_AWS" network = "Nile"
break break
default: default:
// Logger.log(`NetworkId ${networkId} not found defaulting`) // Logger.log(`NetworkId ${networkId} not found defaulting`)

View File

@ -25,6 +25,8 @@ export default class ServiceAgreement extends ContractBase {
]) ])
} }
// todo get service agreement consumer
public async getTemplateStatus(templateId: string) { public async getTemplateStatus(templateId: string) {
return this.call("getTemplateStatus", [templateId]) return this.call("getTemplateStatus", [templateId])

View File

@ -9,6 +9,8 @@ export default class AccessConditions extends ContractBase {
return accessConditions return accessConditions
} }
// todo add check permissions proxy
public async grantAccess(serviceAgreementId: any, assetId: any, documentKeyId: any, publisherAddress: string) public async grantAccess(serviceAgreementId: any, assetId: any, documentKeyId: any, publisherAddress: string)
: Promise<Receipt> { : Promise<Receipt> {
return this.send("grantAccess", publisherAddress, [ return this.send("grantAccess", publisherAddress, [

View File

@ -7,7 +7,7 @@ import Condition from "../ddo/Condition"
import Contract from "../ddo/Contract" import Contract from "../ddo/Contract"
import DDO from "../ddo/DDO" import DDO from "../ddo/DDO"
import Event from "../ddo/Event" import Event from "../ddo/Event"
import EventHandlers from "../ddo/EventHandlers" import EventHandler from "../ddo/EventHandler"
import MetaData from "../ddo/MetaData" import MetaData from "../ddo/MetaData"
import PublicKey from "../ddo/PublicKey" import PublicKey from "../ddo/PublicKey"
import Service from "../ddo/Service" import Service from "../ddo/Service"
@ -112,12 +112,12 @@ export default class Ocean {
events: [ events: [
{ {
name: "ExecuteAgreement", name: "ExecuteAgreement",
actorType: ["consumer"], actorType: "consumer",
handlers: { handler: {
moduleName: "payment", moduleName: "payment",
functionName: "lockPayment", functionName: "lockPayment",
version: "0.1", version: "0.1",
} as EventHandlers, } as EventHandler,
} as Event, } as Event,
], ],
} as Contract, } as Contract,

View File

@ -18,8 +18,7 @@ export default class Access extends TemplateBase {
{ {
name: "assetId", name: "assetId",
type: "bytes32", type: "bytes32",
} as Parameter, } as Parameter, {
{
name: "price", name: "price",
type: "uint256", type: "uint256",
} as Parameter, } as Parameter,
@ -38,12 +37,11 @@ export default class Access extends TemplateBase {
dependencies: [], dependencies: [],
dependencyTimeoutFlags: [], dependencyTimeoutFlags: [],
isTerminalCondition: false, isTerminalCondition: false,
} as Method, } as Method, {
{
name: "grantAccess", name: "grantAccess",
contractName: "AccessConditions", contractName: "AccessConditions",
methodName: "grantAccess", methodName: "grantAccess",
timeout: 10, timeout: 0,
parameters: [ parameters: [
{ {
name: "assetId", name: "assetId",
@ -55,15 +53,6 @@ export default class Access extends TemplateBase {
} as Parameter, } as Parameter,
], ],
events: [ events: [
{
name: "AccessGranted",
actorType: "consumer",
handler: {
moduleName: "asset",
functionName: "consumeService",
version: "0.1",
} as EventHandler,
} as Event,
{ {
name: "AccessGranted", name: "AccessGranted",
actorType: "publisher", actorType: "publisher",
@ -73,22 +62,38 @@ export default class Access extends TemplateBase {
version: "0.1", version: "0.1",
} as EventHandler, } as EventHandler,
} as Event, } as Event,
{
name: "AccessGranted",
actorType: "consumer",
handler: {
moduleName: "accessControl",
functionName: "consumeAsset",
version: "0.1",
} as EventHandler,
} as Event,
{
name: "AccessTimeout",
actorType: "consumer",
handler: {
moduleName: "payment",
functionName: "refundPayment",
version: "0.1",
} as EventHandler,
} as Event,
], ],
dependencies: ["lockPayment"], dependencies: ["lockPayment"],
dependencyTimeoutFlags: [0], dependencyTimeoutFlags: [0],
isTerminalCondition: false, isTerminalCondition: false,
} as Method, } as Method, {
{
name: "releasePayment", name: "releasePayment",
contractName: "PaymentConditions", contractName: "PaymentConditions",
methodName: "releasePayment", methodName: "releasePayment",
timeout: 10, timeout: 0,
parameters: [ parameters: [
{ {
name: "assetId", name: "assetId",
type: "bytes32", type: "bytes32",
} as Parameter, } as Parameter, {
{
name: "price", name: "price",
type: "uint256", type: "uint256",
} as Parameter, } as Parameter,
@ -96,7 +101,7 @@ export default class Access extends TemplateBase {
events: [ events: [
{ {
name: "PaymentReleased", name: "PaymentReleased",
actorType: "publisher", actorType: "consumer",
handler: { handler: {
moduleName: "serviceAgreement", moduleName: "serviceAgreement",
functionName: "fulfillAgreement", functionName: "fulfillAgreement",
@ -107,18 +112,16 @@ export default class Access extends TemplateBase {
dependencies: ["grantAccess"], dependencies: ["grantAccess"],
dependencyTimeoutFlags: [0], dependencyTimeoutFlags: [0],
isTerminalCondition: true, isTerminalCondition: true,
} as Method, } as Method, {
{
name: "refundPayment", name: "refundPayment",
contractName: "PaymentConditions", contractName: "PaymentConditions",
methodName: "refundPayment", methodName: "refundPayment",
timeout: 10, timeout: 1,
parameters: [ parameters: [
{ {
name: "assetId", name: "assetId",
type: "bytes32", type: "bytes32",
} as Parameter, } as Parameter, {
{
name: "price", name: "price",
type: "uint256", type: "uint256",
} as Parameter, } as Parameter,
@ -126,10 +129,10 @@ export default class Access extends TemplateBase {
events: [ events: [
{ {
name: "PaymentRefund", name: "PaymentRefund",
actorType: "consumer", actorType: "publisher",
handler: { handler: {
moduleName: "serviceAgreement", moduleName: "serviceAgreement",
functionName: "fulfillAgreement", functionName: "terminateAgreement",
version: "0.1", version: "0.1",
} as EventHandler, } as EventHandler,
} as Event, } as Event,