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 {
public name: string
public actorType: string[]
public handlers: EventHandlers
public actorType: string
public handler: EventHandler
}

View File

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

View File

@ -64,10 +64,11 @@ export default class Keeper {
network = "Kovan"
break
case 8996:
network = "Ocean_POA_net_local"
network = "Spree"
// network = "ocean_poa_net_local"
break
case 8995:
network = "Ocean_POA_AWS"
network = "Nile"
break
default:
// 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) {
return this.call("getTemplateStatus", [templateId])

View File

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

View File

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

View File

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