Task class
constructor
constructor(signerOrProvider: ethers.providers.Provider | ethers.Signer)
构造函数接受 Signer 或者 Provider 实例。该类由 POB 实例化,可直接使用实例方法。
createTemplate
创建任务模板。
函数签名
createTemplate(describe: AnySchema, registerFee?: string, feeToken?: string, feeReceiver?: string): Promise<TransactionResponse>
如何调用
const pob = new POB(provider)// const params = [...]pob.task.createTemplate(...params)
Request
参数名称 | 类型 | 必填 | 简介 |
---|---|---|---|
registerFee | number | 模板使用费,表示当有人根据该模板创建时需要支付的费用 | |
feeToken | SBTParams | 模板使用费的支付 token 地址 | |
feeReceiver | WorkflowParams | 模板使用费的受益人钱包地址。 | |
describe | object | Tasks 描述信息,必须符合 JSON-Schema、Describe 规范。 |
Response
该方法返回一个 Promise<TransactionResponse>
对象。
submit
提交工作流下指定任务内容。
函数签名:
submit(workflow: string, taskIndex: number, content: { [key: string]: any }): Promise<TransactionResponse>
如何调用
const pob = new POB(provider)pob.task.submit("workflow contract address", "task index", { content: "content"});
Request
参数名称 | 类型 | 必选 | 默认值 | 简介 |
---|---|---|---|---|
workflow | string | 是 | 工作流合约地址 | |
taskIndex | string | number | 是 | 任务的索引,为注册在该工作流中的索引,不是注册在协议中的索引。 | |
content | object | 是 | 提交的任务的工作内容,需要根据任务模板中 describe 解析的 Schema 来获取表单内容格式,规范可参考 Describe |
Response
该方法返回一个 Promise<TransactionResponse>
对象。
approve
Reviewer 审批 issuer 提交的任务。
函数签名:
approve(workflow: string, taskIndex: number, content: { [key: string]: any }): Promise<TransactionResponse>
如何调用
const pob = new POB(provider)pob.task.approve("workflow contract address", "task index", { content: "content"});
Request
参数名称 | 类型 | 必选 | 默认值 | 简介 |
---|---|---|---|---|
workflow | string | 是 | 工作流合约地址 | |
taskIndex | string | number | 是 | 任务的索引,为注册在该工作流中的索引,不是注册在协议中的索引。 | |
content | object | 是 | 提交的任务的工作内容,需要根据任务模板中 describe 解析的 Schema 来获取表单内容格式,规范可参考 Describe |
Response
该方法返回一个 Promise<TransactionResponse>
对象。
reject
提交工作流下指定任务内容。
函数签名:
reject(workflow: string, taskIndex: number, content: { [key: string]: any }): Promise<TransactionResponse>
如何调用
const pob = new POB(provider)pob.task.reject("workflow contract address", "task index", { content: "content"});
Request
参数名称 | 类型 | 必选 | 默认值 | 简介 |
---|---|---|---|---|
workflow | string | 是 | 工作流合约地址 | |
taskIndex | string | number | 是 | 任务的索引,为注册在该工作流中的索引,不是注册在协议中的索引。 | |
content | object | 是 | 提交的任务的工作内容,需要根据任务模板中 describe 解析的 Schema 来获取表单内容格式,规范可参考 Describe |
Response
该方法返回一个 Promise<TransactionResponse>
对象。
getTask
查询工作流下指定任务的信息。
函数签名:
getTask(workflow: string, taskIndex: number | string): Promise<Response<Task>>
如何调用
const pob = new POB(provider)pob.task.getTask("workflow contract address", "task index");
Request
参数名称 | 类型 | 必选 | 默认值 | 简介 |
---|---|---|---|---|
workflow | string | 是 | 工作流合约地址 | |
taskIndex | string | number | 是 | 任务的索引,为注册在该工作流中的索引,不是注册在协议中的索引。 |
Response
该方法返回一个 Promise<Response<Task>>
对象。
Task
参数名称 | 类型 | 简介 |
---|---|---|
onlyOneWinner | number | |
taskAddress | boolean | |
reviewer | string | 该任务的审批人 |
taskIndex | number | 该任务的索引 |
totalRewards | TokenValue | 该任务的总奖励 |
remainingRewards | TokenValue | 该任务剩余的奖励 |
deadline | number | 该任务的截止日期,如果为 0,则表示永久任务 |
feeAmount | TokenValue | 该任务的收费价格 |
describe | string | 该任务的描述信息,通常存储在 ipfs |
name | string | 该任务的名称,来源于 describe。 |
description | string | 该任务的简介,来源于 describe。 |
extInfo | object | 该任务的拓展信息,来源于 describe, 除 name、description 以外的信息。 |
transactionHash | string | 交易 hash |
logIndex | string | 日志索引 |
blockHash | string | 区块 hash |
transactionIndex | string | 交易索引 |
createdAt | number | 创建时间戳,格林威治时间 |
updatedAt | number | 更新时间戳,格林威治时间 |
getTasks
查询工作流下所有的任务信息。
函数签名:
getTasks(workflow: string): Promise<Response<Task[]>>
如何调用
const pob = new POB(provider)pob.task.getTasks("workflow contract address");
Request
参数名称 | 类型 | 必选 | 默认值 | 简介 |
---|---|---|---|---|
workflow | string | 是 | 工作流合约地址 |
Response
该方法返回一个 Promise<Response<Task[]>>
对象。参考 #Task
getTaskStatus
查询工作流下任务的状态
函数签名:
getTaskStatus(workflow: string, taskIndex: string | number, taker: string): Promise<Response<TaskStatus>>
如何调用
const pob = new POB(provider)pob.task.getTaskStatus("workflow contract address", "task index", "taker address");
Request
参数名称 | 类型 | 必选 | 默认值 | 简介 |
---|---|---|---|---|
workflow | string | 是 | 工作流合约地址 | |
taskIndex | number | 是 | 任务的索引 | |
taker | string | 是 | taker 钱包地址 |
Response
该方法返回一个 Promise<Response<TaskStatus>>
对象。
TaskStatus
参数名称 | 类型 | 简介 |
---|---|---|
workflow | number | 工作流的合约地址 |
taker | boolean | 该任务的承接人 |
reviewer | string | 该任务的审批人 |
taskIndex | number | 该任务的索引 |
status | TokenValue | 该任务的总奖励 |
content | string | 任务的提交、拒绝、审批等内容,根据不同角色内容不同 |
transactionHash | string | 交易 hash |
logIndex | string | 日志索引 |
blockHash | string | 区块 hash |
transactionIndex | string | 交易索引 |
createdAt | number | 创建时间戳,格林威治时间 |
updatedAt | number | 更新时间戳,格林威治时间 |