@avaprotocol/sdk-js 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/auth.d.ts +2 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +10 -0
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +19 -0
- package/dist/index.d.ts +58 -2750
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1260 -492
- package/dist/index.mjs +1257 -484
- package/dist/models/edge.d.ts +12 -0
- package/dist/models/edge.d.ts.map +1 -0
- package/dist/models/edge.js +19 -0
- package/dist/models/execution.d.ts +25 -0
- package/dist/models/execution.d.ts.map +1 -0
- package/dist/models/execution.js +48 -0
- package/dist/models/node/branch.d.ts +14 -0
- package/dist/models/node/branch.d.ts.map +1 -0
- package/dist/models/node/branch.js +33 -0
- package/dist/models/node/contractRead.d.ts +14 -0
- package/dist/models/node/contractRead.d.ts.map +1 -0
- package/dist/models/node/contractRead.js +29 -0
- package/dist/models/node/contractWrite.d.ts +14 -0
- package/dist/models/node/contractWrite.d.ts.map +1 -0
- package/dist/models/node/contractWrite.js +29 -0
- package/dist/models/node/customCode.d.ts +15 -0
- package/dist/models/node/customCode.d.ts.map +1 -0
- package/dist/models/node/customCode.js +29 -0
- package/dist/models/node/ethTransfer.d.ts +14 -0
- package/dist/models/node/ethTransfer.d.ts.map +1 -0
- package/dist/models/node/ethTransfer.js +28 -0
- package/dist/models/node/factory.d.ts +20 -0
- package/dist/models/node/factory.d.ts.map +1 -0
- package/dist/models/node/factory.js +67 -0
- package/dist/models/node/filter.d.ts +14 -0
- package/dist/models/node/filter.d.ts.map +1 -0
- package/dist/models/node/filter.js +28 -0
- package/dist/models/node/graphqlQuery.d.ts +14 -0
- package/dist/models/node/graphqlQuery.d.ts.map +1 -0
- package/dist/models/node/graphqlQuery.js +37 -0
- package/dist/models/node/interface.d.ts +18 -0
- package/dist/models/node/interface.d.ts.map +1 -0
- package/dist/models/node/interface.js +37 -0
- package/dist/models/node/restApi.d.ts +15 -0
- package/dist/models/node/restApi.d.ts.map +1 -0
- package/dist/models/node/restApi.js +34 -0
- package/dist/models/secret.d.ts +17 -0
- package/dist/models/secret.d.ts.map +1 -0
- package/dist/models/secret.js +22 -0
- package/dist/models/step.d.ts +19 -0
- package/dist/models/step.d.ts.map +1 -0
- package/dist/models/step.js +78 -0
- package/dist/models/trigger/block.d.ts +13 -0
- package/dist/models/trigger/block.d.ts.map +1 -0
- package/dist/models/trigger/block.js +30 -0
- package/dist/models/trigger/cron.d.ts +13 -0
- package/dist/models/trigger/cron.d.ts.map +1 -0
- package/dist/models/trigger/cron.js +30 -0
- package/dist/models/trigger/event.d.ts +13 -0
- package/dist/models/trigger/event.d.ts.map +1 -0
- package/dist/models/trigger/event.js +61 -0
- package/dist/models/trigger/factory.d.ts +27 -0
- package/dist/models/trigger/factory.d.ts.map +1 -0
- package/dist/models/trigger/factory.js +49 -0
- package/dist/models/trigger/fixedTime.d.ts +13 -0
- package/dist/models/trigger/fixedTime.d.ts.map +1 -0
- package/dist/models/trigger/fixedTime.js +30 -0
- package/dist/models/trigger/interface.d.ts +21 -0
- package/dist/models/trigger/interface.d.ts.map +1 -0
- package/dist/models/trigger/interface.js +16 -0
- package/dist/models/trigger/reason.d.ts +33 -0
- package/dist/models/trigger/reason.d.ts.map +1 -0
- package/dist/models/trigger/reason.js +93 -0
- package/dist/models/workflow.d.ts +54 -0
- package/dist/models/workflow.d.ts.map +1 -0
- package/dist/models/workflow.js +118 -0
- package/dist/utils.d.ts +3 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +37 -0
- package/package.json +6 -4
- package/dist/index.d.mts +0 -2937
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as avs_pb from "@/grpc_codegen/avs_pb";
|
|
2
|
+
import { TriggerType } from "@avaprotocol/types";
|
|
3
|
+
// Convert the number values of gRPC TriggerType to string values of TriggerType
|
|
4
|
+
const convertTriggerType = (grpcType) => {
|
|
5
|
+
const conversionMap = {
|
|
6
|
+
[avs_pb.TriggerReason.TriggerType.FIXEDTIME]: TriggerType.FixedTime,
|
|
7
|
+
[avs_pb.TriggerReason.TriggerType.CRON]: TriggerType.Cron,
|
|
8
|
+
[avs_pb.TriggerReason.TriggerType.BLOCK]: TriggerType.Block,
|
|
9
|
+
[avs_pb.TriggerReason.TriggerType.EVENT]: TriggerType.Event,
|
|
10
|
+
[avs_pb.TriggerReason.TriggerType.MANUAL]: TriggerType.Manual,
|
|
11
|
+
[avs_pb.TriggerReason.TriggerType.UNSET]: TriggerType.Unset,
|
|
12
|
+
};
|
|
13
|
+
return conversionMap[grpcType];
|
|
14
|
+
};
|
|
15
|
+
class TriggerReason {
|
|
16
|
+
constructor(props) {
|
|
17
|
+
this.type = props.type;
|
|
18
|
+
// Configure reason based on trigger type
|
|
19
|
+
switch (props.type) {
|
|
20
|
+
case TriggerType.FixedTime:
|
|
21
|
+
case TriggerType.Cron:
|
|
22
|
+
this.epoch = props.epoch;
|
|
23
|
+
break;
|
|
24
|
+
case TriggerType.Block:
|
|
25
|
+
this.blockNumber = props.blockNumber;
|
|
26
|
+
break;
|
|
27
|
+
case TriggerType.Event:
|
|
28
|
+
this.blockNumber = props.blockNumber;
|
|
29
|
+
this.logIndex = props.logIndex;
|
|
30
|
+
this.txHash = props.txHash;
|
|
31
|
+
break;
|
|
32
|
+
default:
|
|
33
|
+
throw new Error("Unsupported trigger type");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
static fromResponse(data) {
|
|
37
|
+
if (!data) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
return new TriggerReason({
|
|
41
|
+
type: convertTriggerType(data.getType()),
|
|
42
|
+
blockNumber: data.getBlockNumber(),
|
|
43
|
+
epoch: data.getEpoch(),
|
|
44
|
+
logIndex: data.getLogIndex(),
|
|
45
|
+
txHash: data.getTxHash(),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
toRequest() {
|
|
49
|
+
const request = new avs_pb.TriggerReason();
|
|
50
|
+
switch (this.type) {
|
|
51
|
+
case TriggerType.FixedTime:
|
|
52
|
+
request.setType(avs_pb.TriggerReason.TriggerType.FIXEDTIME);
|
|
53
|
+
if (this.epoch) {
|
|
54
|
+
request.setEpoch(this.epoch);
|
|
55
|
+
}
|
|
56
|
+
break;
|
|
57
|
+
case TriggerType.Cron:
|
|
58
|
+
request.setType(avs_pb.TriggerReason.TriggerType.CRON);
|
|
59
|
+
if (this.epoch) {
|
|
60
|
+
request.setEpoch(this.epoch);
|
|
61
|
+
}
|
|
62
|
+
break;
|
|
63
|
+
case TriggerType.Block:
|
|
64
|
+
request.setType(avs_pb.TriggerReason.TriggerType.BLOCK);
|
|
65
|
+
if (this.blockNumber) {
|
|
66
|
+
request.setBlockNumber(this.blockNumber);
|
|
67
|
+
}
|
|
68
|
+
break;
|
|
69
|
+
case TriggerType.Event:
|
|
70
|
+
request.setType(avs_pb.TriggerReason.TriggerType.EVENT);
|
|
71
|
+
if (this.blockNumber) {
|
|
72
|
+
request.setBlockNumber(this.blockNumber);
|
|
73
|
+
}
|
|
74
|
+
if (this.logIndex) {
|
|
75
|
+
request.setLogIndex(this.logIndex);
|
|
76
|
+
}
|
|
77
|
+
if (this.txHash) {
|
|
78
|
+
request.setTxHash(this.txHash);
|
|
79
|
+
}
|
|
80
|
+
break;
|
|
81
|
+
case TriggerType.Manual:
|
|
82
|
+
request.setType(avs_pb.TriggerReason.TriggerType.MANUAL);
|
|
83
|
+
break;
|
|
84
|
+
case TriggerType.Unset:
|
|
85
|
+
request.setType(avs_pb.TriggerReason.TriggerType.UNSET);
|
|
86
|
+
break;
|
|
87
|
+
default:
|
|
88
|
+
throw new Error("Unsupported trigger type");
|
|
89
|
+
}
|
|
90
|
+
return request;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
export default TriggerReason;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import * as avs_pb from "@/grpc_codegen/avs_pb";
|
|
2
|
+
import Node from "./node/interface";
|
|
3
|
+
import Edge from "./edge";
|
|
4
|
+
import Trigger from "./trigger/interface";
|
|
5
|
+
export declare const DefaultExpiredAt = -1;
|
|
6
|
+
import { WorkflowStatus } from "@avaprotocol/types";
|
|
7
|
+
export declare function convertStatusToString(status: avs_pb.TaskStatus): WorkflowStatus;
|
|
8
|
+
export type WorkflowProps = Omit<avs_pb.Task.AsObject, "id" | "owner" | "completedAt" | "status" | "name" | "trigger" | "nodesList" | "edgesList" | "lastRanAt" | "executionCount"> & {
|
|
9
|
+
id?: string;
|
|
10
|
+
owner?: string;
|
|
11
|
+
completedAt?: number;
|
|
12
|
+
status?: WorkflowStatus;
|
|
13
|
+
name?: string;
|
|
14
|
+
trigger: Trigger;
|
|
15
|
+
nodes: Node[];
|
|
16
|
+
edges: Edge[];
|
|
17
|
+
lastRanAt?: number;
|
|
18
|
+
executionCount?: number;
|
|
19
|
+
};
|
|
20
|
+
declare class Workflow implements WorkflowProps {
|
|
21
|
+
smartWalletAddress: string;
|
|
22
|
+
trigger: Trigger;
|
|
23
|
+
nodes: Node[];
|
|
24
|
+
edges: Edge[];
|
|
25
|
+
startAt: number;
|
|
26
|
+
expiredAt: number;
|
|
27
|
+
maxExecution: number;
|
|
28
|
+
id?: string;
|
|
29
|
+
owner?: string;
|
|
30
|
+
name?: string;
|
|
31
|
+
completedAt?: number;
|
|
32
|
+
status?: WorkflowStatus;
|
|
33
|
+
lastRanAt?: number;
|
|
34
|
+
executionCount?: number;
|
|
35
|
+
/**
|
|
36
|
+
* Create an instance of Workflow from user inputs
|
|
37
|
+
* @param props
|
|
38
|
+
*/
|
|
39
|
+
constructor(props: WorkflowProps);
|
|
40
|
+
/**
|
|
41
|
+
* Create an instance of Workflow from AVS getWorkflow response
|
|
42
|
+
* @param res
|
|
43
|
+
* @returns
|
|
44
|
+
*/
|
|
45
|
+
static fromResponse(obj: avs_pb.Task): Workflow;
|
|
46
|
+
/**
|
|
47
|
+
* Create an instance of Workflow with only selected fields
|
|
48
|
+
* @param obj
|
|
49
|
+
*/
|
|
50
|
+
static fromListResponse(obj: avs_pb.ListTasksResp.Item): Workflow;
|
|
51
|
+
toRequest(): avs_pb.CreateTaskReq;
|
|
52
|
+
}
|
|
53
|
+
export default Workflow;
|
|
54
|
+
//# sourceMappingURL=workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/models/workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAEhD,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAG1C,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,CAAC,UAAU,GACxB,cAAc,CAUhB;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAClB,IAAI,GACJ,OAAO,GACP,aAAa,GACb,QAAQ,GACR,MAAM,GACN,SAAS,GACT,WAAW,GACX,WAAW,GACX,WAAW,GACX,gBAAgB,CACnB,GAAG;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,cAAM,QAAS,YAAW,aAAa;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IAGrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;gBACS,KAAK,EAAE,aAAa;IAuBhC;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,QAAQ;IAkC/C;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,GAAG,QAAQ;IA2BjE,SAAS,IAAI,MAAM,CAAC,aAAa;CAsBlC;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import _ from "lodash";
|
|
2
|
+
import * as avs_pb from "@/grpc_codegen/avs_pb";
|
|
3
|
+
import Edge from "./edge";
|
|
4
|
+
import TriggerFactory from "./trigger/factory";
|
|
5
|
+
import NodeFactory from "./node/factory";
|
|
6
|
+
export const DefaultExpiredAt = -1; // TODO: explain the meaning of -1
|
|
7
|
+
import { WorkflowStatus } from "@avaprotocol/types";
|
|
8
|
+
// Function to convert TaskStatus to string
|
|
9
|
+
export function convertStatusToString(status) {
|
|
10
|
+
const conversionMap = {
|
|
11
|
+
[avs_pb.TaskStatus.ACTIVE]: WorkflowStatus.Active,
|
|
12
|
+
[avs_pb.TaskStatus.COMPLETED]: WorkflowStatus.Completed,
|
|
13
|
+
[avs_pb.TaskStatus.FAILED]: WorkflowStatus.Failed,
|
|
14
|
+
[avs_pb.TaskStatus.CANCELED]: WorkflowStatus.Canceled,
|
|
15
|
+
[avs_pb.TaskStatus.EXECUTING]: WorkflowStatus.Executing,
|
|
16
|
+
};
|
|
17
|
+
return conversionMap[status];
|
|
18
|
+
}
|
|
19
|
+
class Workflow {
|
|
20
|
+
/**
|
|
21
|
+
* Create an instance of Workflow from user inputs
|
|
22
|
+
* @param props
|
|
23
|
+
*/
|
|
24
|
+
constructor(props) {
|
|
25
|
+
if (!props.trigger) {
|
|
26
|
+
throw new Error("Trigger is undefined in new Workflow()");
|
|
27
|
+
}
|
|
28
|
+
this.smartWalletAddress = props.smartWalletAddress;
|
|
29
|
+
this.trigger = props.trigger;
|
|
30
|
+
this.nodes = props.nodes;
|
|
31
|
+
this.edges = props.edges;
|
|
32
|
+
this.startAt = props.startAt;
|
|
33
|
+
this.expiredAt = props.expiredAt;
|
|
34
|
+
this.maxExecution = props.maxExecution;
|
|
35
|
+
this.executionCount = props.executionCount;
|
|
36
|
+
// Optional fields
|
|
37
|
+
this.id = props.id;
|
|
38
|
+
this.owner = props.owner;
|
|
39
|
+
this.name = props.name;
|
|
40
|
+
this.status = props.status;
|
|
41
|
+
this.completedAt = props.completedAt;
|
|
42
|
+
this.lastRanAt = props.lastRanAt;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Create an instance of Workflow from AVS getWorkflow response
|
|
46
|
+
* @param res
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
static fromResponse(obj) {
|
|
50
|
+
const trigger = TriggerFactory.fromResponse(obj.getTrigger());
|
|
51
|
+
if (!trigger) {
|
|
52
|
+
throw new Error("Trigger is undefined in fromResponse()");
|
|
53
|
+
}
|
|
54
|
+
const nodes = _.map(obj.getNodesList(), (node) => NodeFactory.fromResponse(node));
|
|
55
|
+
const edges = _.map(obj.getEdgesList(), (edge) => Edge.fromResponse(edge));
|
|
56
|
+
const workflow = new Workflow({
|
|
57
|
+
id: obj.getId(),
|
|
58
|
+
owner: obj.getOwner(),
|
|
59
|
+
smartWalletAddress: obj.getSmartWalletAddress(),
|
|
60
|
+
trigger,
|
|
61
|
+
nodes,
|
|
62
|
+
edges,
|
|
63
|
+
startAt: obj.getStartAt(),
|
|
64
|
+
expiredAt: obj.getExpiredAt(),
|
|
65
|
+
maxExecution: obj.getMaxExecution(),
|
|
66
|
+
executionCount: obj.getExecutionCount(),
|
|
67
|
+
name: obj.getName(),
|
|
68
|
+
status: convertStatusToString(obj.getStatus()),
|
|
69
|
+
completedAt: obj.getCompletedAt(),
|
|
70
|
+
lastRanAt: obj.getLastRanAt(),
|
|
71
|
+
});
|
|
72
|
+
return workflow;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Create an instance of Workflow with only selected fields
|
|
76
|
+
* @param obj
|
|
77
|
+
*/
|
|
78
|
+
static fromListResponse(obj) {
|
|
79
|
+
const trigger = TriggerFactory.fromResponse(obj.getTrigger());
|
|
80
|
+
if (!trigger) {
|
|
81
|
+
throw new Error("Trigger is undefined in fromListResponse()");
|
|
82
|
+
}
|
|
83
|
+
const executionCount = obj.getExecutionCount ? obj.getExecutionCount() : obj.executionCount;
|
|
84
|
+
return new Workflow({
|
|
85
|
+
id: obj.getId(),
|
|
86
|
+
owner: obj.getOwner(),
|
|
87
|
+
smartWalletAddress: obj.getSmartWalletAddress(),
|
|
88
|
+
trigger: trigger,
|
|
89
|
+
startAt: obj.getStartAt(),
|
|
90
|
+
expiredAt: obj.getExpiredAt(),
|
|
91
|
+
maxExecution: obj.getMaxExecution(),
|
|
92
|
+
executionCount: executionCount,
|
|
93
|
+
nodes: [],
|
|
94
|
+
edges: [],
|
|
95
|
+
completedAt: obj.getCompletedAt(),
|
|
96
|
+
status: convertStatusToString(obj.getStatus()),
|
|
97
|
+
name: obj.getName(),
|
|
98
|
+
lastRanAt: obj.getLastRanAt(),
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
toRequest() {
|
|
102
|
+
const request = new avs_pb.CreateTaskReq();
|
|
103
|
+
// TODO: add client side validation for each field
|
|
104
|
+
request.setSmartWalletAddress(this.smartWalletAddress);
|
|
105
|
+
request.setTrigger(this.trigger.toRequest());
|
|
106
|
+
_.map(this.nodes, (node) => request.addNodes(node.toRequest()));
|
|
107
|
+
_.map(this.edges, (edge) => request.addEdges(edge.toRequest()));
|
|
108
|
+
request.setStartAt(this.startAt);
|
|
109
|
+
request.setExpiredAt(this.expiredAt);
|
|
110
|
+
request.setMaxExecution(this.maxExecution);
|
|
111
|
+
// Optional fields
|
|
112
|
+
if (this.name) {
|
|
113
|
+
request.setName(this.name);
|
|
114
|
+
}
|
|
115
|
+
return request;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
export default Workflow;
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAGnF,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,GAAG,CAiCnE"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Value as ProtobufValue } from "google-protobuf/google/protobuf/struct_pb";
|
|
2
|
+
// Helper function to convert google.protobuf.Value to native JavaScript types
|
|
3
|
+
export function convertProtobufValueToJs(value) {
|
|
4
|
+
if (!value) {
|
|
5
|
+
return undefined;
|
|
6
|
+
}
|
|
7
|
+
switch (value.getKindCase()) {
|
|
8
|
+
case ProtobufValue.KindCase.NULL_VALUE:
|
|
9
|
+
return null;
|
|
10
|
+
case ProtobufValue.KindCase.NUMBER_VALUE:
|
|
11
|
+
return value.getNumberValue();
|
|
12
|
+
case ProtobufValue.KindCase.STRING_VALUE:
|
|
13
|
+
return value.getStringValue();
|
|
14
|
+
case ProtobufValue.KindCase.BOOL_VALUE:
|
|
15
|
+
return value.getBoolValue();
|
|
16
|
+
case ProtobufValue.KindCase.STRUCT_VALUE: {
|
|
17
|
+
const struct = value.getStructValue();
|
|
18
|
+
if (!struct)
|
|
19
|
+
return {};
|
|
20
|
+
const jsObj = {};
|
|
21
|
+
const fields = struct.getFieldsMap();
|
|
22
|
+
fields.forEach((val, key) => {
|
|
23
|
+
jsObj[key] = convertProtobufValueToJs(val);
|
|
24
|
+
});
|
|
25
|
+
return jsObj;
|
|
26
|
+
}
|
|
27
|
+
case ProtobufValue.KindCase.LIST_VALUE: {
|
|
28
|
+
const list = value.getListValue();
|
|
29
|
+
if (!list)
|
|
30
|
+
return [];
|
|
31
|
+
return list.getValuesList().map(item => convertProtobufValueToJs(item));
|
|
32
|
+
}
|
|
33
|
+
case ProtobufValue.KindCase.KIND_NOT_SET:
|
|
34
|
+
default:
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@avaprotocol/sdk-js",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "A JavaScript/TypeScript SDK designed to simplify integration with Ava Protocol's AVS",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -24,16 +24,18 @@
|
|
|
24
24
|
"yarn": ">=1.22.19"
|
|
25
25
|
},
|
|
26
26
|
"scripts": {
|
|
27
|
-
"build": "
|
|
27
|
+
"build:declarations": "tsc -b tsconfig.json",
|
|
28
|
+
"build:js": "tsup src/index.ts --format cjs,esm",
|
|
29
|
+
"build": "yarn build:declarations && yarn build:js",
|
|
28
30
|
"clean": "rm -rf node_modules dist tsconfig.tsbuildinfo"
|
|
29
31
|
},
|
|
30
32
|
"dependencies": {
|
|
31
|
-
"@avaprotocol/types": "
|
|
33
|
+
"@avaprotocol/types": "1.0.0",
|
|
32
34
|
"@grpc/grpc-js": "^1.11.3",
|
|
33
35
|
"@grpc/proto-loader": "^0.7.13",
|
|
34
36
|
"dotenv": "^16.4.5",
|
|
35
37
|
"ethers": "^6.13.2",
|
|
36
|
-
"google-protobuf": "
|
|
38
|
+
"google-protobuf": "3.19.4",
|
|
37
39
|
"id128": "^1.6.6",
|
|
38
40
|
"lodash": "^4.17.21"
|
|
39
41
|
},
|