@avaprotocol/sdk-js 2.8.1 → 2.9.1
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 +19 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +889 -313
- package/dist/index.mjs +859 -279
- package/dist/models/node/balance.d.ts +17 -0
- package/dist/models/node/balance.d.ts.map +1 -0
- package/dist/models/node/balance.js +77 -0
- package/dist/models/node/customCode.d.ts +2 -2
- package/dist/models/node/customCode.d.ts.map +1 -1
- package/dist/models/node/customCode.js +15 -7
- package/dist/models/node/factory.d.ts +5 -4
- package/dist/models/node/factory.d.ts.map +1 -1
- package/dist/models/node/factory.js +8 -1
- package/dist/models/node/interface.d.ts.map +1 -1
- package/dist/models/node/interface.js +1 -0
- package/dist/models/node/loop.d.ts.map +1 -1
- package/dist/models/step.d.ts.map +1 -1
- package/dist/models/step.js +6 -0
- package/dist/models/trigger/manual.d.ts.map +1 -1
- package/dist/models/trigger/manual.js +12 -3
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +2 -0
- package/package.json +2 -2
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Node from "./interface";
|
|
2
|
+
import * as avs_pb from "@/grpc_codegen/avs_pb";
|
|
3
|
+
import { BalanceNodeData, BalanceNodeProps } from "@avaprotocol/types";
|
|
4
|
+
declare class BalanceNode extends Node {
|
|
5
|
+
constructor(props: BalanceNodeProps);
|
|
6
|
+
/**
|
|
7
|
+
* Create a protobuf BalanceNode from config data
|
|
8
|
+
* @param configData - The configuration data for the balance node
|
|
9
|
+
* @returns Configured avs_pb.BalanceNode
|
|
10
|
+
*/
|
|
11
|
+
static createProtobufNode(configData: BalanceNodeData): avs_pb.BalanceNode;
|
|
12
|
+
static fromResponse(raw: avs_pb.TaskNode): BalanceNode;
|
|
13
|
+
toRequest(): avs_pb.TaskNode;
|
|
14
|
+
static fromOutputData(outputData: avs_pb.RunNodeWithInputsResp): unknown | null;
|
|
15
|
+
}
|
|
16
|
+
export default BalanceNode;
|
|
17
|
+
//# sourceMappingURL=balance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../../src/models/node/balance.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAEL,eAAe,EACf,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAK5B,cAAM,WAAY,SAAQ,IAAI;gBAChB,KAAK,EAAE,gBAAgB;IAInC;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAAC,WAAW;IA+B1E,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,WAAW;IAwBtD,SAAS,IAAI,MAAM,CAAC,QAAQ;IAa5B,MAAM,CAAC,cAAc,CACnB,UAAU,EAAE,MAAM,CAAC,qBAAqB,GACvC,OAAO,GAAG,IAAI;CAWlB;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import Node from "./interface";
|
|
2
|
+
import * as avs_pb from "@/grpc_codegen/avs_pb";
|
|
3
|
+
import { NodeType, } from "@avaprotocol/types";
|
|
4
|
+
import { convertProtobufValueToJs } from "../../utils";
|
|
5
|
+
// Required props for constructor: id, name, type and data
|
|
6
|
+
class BalanceNode extends Node {
|
|
7
|
+
constructor(props) {
|
|
8
|
+
super({ ...props, type: NodeType.Balance, data: props.data });
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Create a protobuf BalanceNode from config data
|
|
12
|
+
* @param configData - The configuration data for the balance node
|
|
13
|
+
* @returns Configured avs_pb.BalanceNode
|
|
14
|
+
*/
|
|
15
|
+
static createProtobufNode(configData) {
|
|
16
|
+
const node = new avs_pb.BalanceNode();
|
|
17
|
+
const config = new avs_pb.BalanceNode.Config();
|
|
18
|
+
config.setAddress(configData.address);
|
|
19
|
+
config.setChain(configData.chain);
|
|
20
|
+
if (configData.includeSpam !== undefined) {
|
|
21
|
+
config.setIncludeSpam(configData.includeSpam);
|
|
22
|
+
}
|
|
23
|
+
if (configData.includeZeroBalances !== undefined) {
|
|
24
|
+
config.setIncludeZeroBalances(configData.includeZeroBalances);
|
|
25
|
+
}
|
|
26
|
+
if (configData.minUsdValue !== undefined) {
|
|
27
|
+
// Convert dollars to cents for protobuf (validation happens on backend)
|
|
28
|
+
config.setMinUsdValueCents(Math.round(configData.minUsdValue * 100));
|
|
29
|
+
}
|
|
30
|
+
if (configData.tokenAddresses !== undefined &&
|
|
31
|
+
configData.tokenAddresses.length > 0) {
|
|
32
|
+
config.setTokenAddressesList(configData.tokenAddresses);
|
|
33
|
+
}
|
|
34
|
+
node.setConfig(config);
|
|
35
|
+
return node;
|
|
36
|
+
}
|
|
37
|
+
static fromResponse(raw) {
|
|
38
|
+
// Convert the raw object to BalanceNodeProps, which should keep name and id
|
|
39
|
+
const obj = raw.toObject();
|
|
40
|
+
const balanceNode = raw.getBalance();
|
|
41
|
+
const config = balanceNode.getConfig();
|
|
42
|
+
const protobufData = config.toObject();
|
|
43
|
+
// Convert protobuf data to our custom interface
|
|
44
|
+
const data = {
|
|
45
|
+
address: protobufData.address,
|
|
46
|
+
chain: protobufData.chain,
|
|
47
|
+
includeSpam: protobufData.includeSpam,
|
|
48
|
+
includeZeroBalances: protobufData.includeZeroBalances,
|
|
49
|
+
minUsdValue: protobufData.minUsdValueCents / 100,
|
|
50
|
+
tokenAddresses: protobufData.tokenAddressesList,
|
|
51
|
+
};
|
|
52
|
+
return new BalanceNode({
|
|
53
|
+
...obj,
|
|
54
|
+
type: NodeType.Balance,
|
|
55
|
+
data: data,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
toRequest() {
|
|
59
|
+
const request = new avs_pb.TaskNode();
|
|
60
|
+
request.setId(this.id);
|
|
61
|
+
request.setName(this.name);
|
|
62
|
+
const node = BalanceNode.createProtobufNode(this.data);
|
|
63
|
+
request.setBalance(node);
|
|
64
|
+
return request;
|
|
65
|
+
}
|
|
66
|
+
static fromOutputData(outputData) {
|
|
67
|
+
const balanceOutput = outputData.getBalance();
|
|
68
|
+
if (!balanceOutput)
|
|
69
|
+
return null;
|
|
70
|
+
// Get the data from the data field (array of token balances)
|
|
71
|
+
const dataValue = balanceOutput.getData();
|
|
72
|
+
const balanceData = dataValue ? convertProtobufValueToJs(dataValue) : [];
|
|
73
|
+
// Return the array directly without wrapping
|
|
74
|
+
return balanceData;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export default BalanceNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Node from "./interface";
|
|
2
2
|
import * as avs_pb from "@/grpc_codegen/avs_pb";
|
|
3
|
-
import {
|
|
3
|
+
import { CustomCodeNodeProps, Lang } from "@avaprotocol/types";
|
|
4
4
|
declare class CustomCodeNode extends Node {
|
|
5
5
|
constructor(props: CustomCodeNodeProps);
|
|
6
6
|
/**
|
|
@@ -9,7 +9,7 @@ declare class CustomCodeNode extends Node {
|
|
|
9
9
|
* @returns Configured avs_pb.CustomCodeNode
|
|
10
10
|
*/
|
|
11
11
|
static createProtobufNode(configData: {
|
|
12
|
-
lang:
|
|
12
|
+
lang: Lang;
|
|
13
13
|
source: string;
|
|
14
14
|
}): avs_pb.CustomCodeNode;
|
|
15
15
|
static fromResponse(raw: avs_pb.TaskNode): CustomCodeNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customCode.d.ts","sourceRoot":"","sources":["../../../src/models/node/customCode.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAGL,
|
|
1
|
+
{"version":3,"file":"customCode.d.ts","sourceRoot":"","sources":["../../../src/models/node/customCode.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAGL,mBAAmB,EAEnB,IAAI,EAEL,MAAM,oBAAoB,CAAC;AAS5B,cAAM,cAAe,SAAQ,IAAI;gBACnB,KAAK,EAAE,mBAAmB;IAKtC;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE;QACpC,IAAI,EAAE,IAAI,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,MAAM,CAAC,cAAc;IAazB,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,cAAc;IA2BzD,SAAS,IAAI,MAAM,CAAC,QAAQ;IAe5B,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,qBAAqB,GAAG,GAAG;CAqBrE;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Node from "./interface";
|
|
2
2
|
import * as avs_pb from "@/grpc_codegen/avs_pb";
|
|
3
|
-
import { NodeType, } from "@avaprotocol/types";
|
|
3
|
+
import { NodeType, LangConverter, } from "@avaprotocol/types";
|
|
4
4
|
import { convertProtobufValueToJs, } from "../../utils";
|
|
5
5
|
// Required props for constructor: id, name, type and data: { lang: number, source: string }
|
|
6
6
|
class CustomCodeNode extends Node {
|
|
@@ -15,8 +15,9 @@ class CustomCodeNode extends Node {
|
|
|
15
15
|
static createProtobufNode(configData) {
|
|
16
16
|
const node = new avs_pb.CustomCodeNode();
|
|
17
17
|
const config = new avs_pb.CustomCodeNode.Config();
|
|
18
|
-
//
|
|
19
|
-
|
|
18
|
+
// Convert lang to protobuf enum using centralized converter
|
|
19
|
+
const langValue = LangConverter.toProtobuf(configData.lang);
|
|
20
|
+
config.setLang(langValue);
|
|
20
21
|
config.setSource(configData.source);
|
|
21
22
|
node.setConfig(config);
|
|
22
23
|
return node;
|
|
@@ -24,11 +25,18 @@ class CustomCodeNode extends Node {
|
|
|
24
25
|
static fromResponse(raw) {
|
|
25
26
|
// Convert the raw object to CustomCodeNodeProps, which should keep name and id
|
|
26
27
|
const obj = raw.toObject();
|
|
27
|
-
// Get the raw protobuf config
|
|
28
|
-
const
|
|
28
|
+
// Get the raw protobuf config
|
|
29
|
+
const customCodeNode = raw.getCustomCode();
|
|
30
|
+
if (!customCodeNode) {
|
|
31
|
+
throw new Error("CustomCode node data is missing");
|
|
32
|
+
}
|
|
33
|
+
const config = customCodeNode.getConfig();
|
|
34
|
+
if (!config) {
|
|
35
|
+
throw new Error("CustomCode config is missing");
|
|
36
|
+
}
|
|
29
37
|
const convertedConfig = {
|
|
30
|
-
lang:
|
|
31
|
-
source:
|
|
38
|
+
lang: LangConverter.fromProtobuf(config.getLang()),
|
|
39
|
+
source: config.getSource(),
|
|
32
40
|
};
|
|
33
41
|
return new CustomCodeNode({
|
|
34
42
|
...obj,
|
|
@@ -9,7 +9,8 @@ import ETHTransferNode from "./ethTransfer";
|
|
|
9
9
|
import BranchNode from "./branch";
|
|
10
10
|
import FilterNode from "./filter";
|
|
11
11
|
import LoopNode from "./loop";
|
|
12
|
-
import
|
|
12
|
+
import BalanceNode from "./balance";
|
|
13
|
+
import { ContractWriteNodeData, ContractReadNodeData, BranchNodeData, ETHTransferNodeData, GraphQLQueryNodeData, RestAPINodeData, CustomCodeNodeData, FilterNodeData, LoopNodeData, BalanceNodeData, NodeProps, ContractWriteNodeProps, ContractReadNodeProps, BranchNodeProps, ETHTransferNodeProps, GraphQLQueryNodeProps, RestAPINodeProps, CustomCodeNodeProps, FilterNodeProps, LoopNodeProps, BalanceNodeProps } from "@avaprotocol/types";
|
|
13
14
|
declare class NodeFactory {
|
|
14
15
|
static create(props: NodeProps): Node;
|
|
15
16
|
static createNodes(props: NodeProps[]): Node[];
|
|
@@ -17,7 +18,7 @@ declare class NodeFactory {
|
|
|
17
18
|
static fromOutputData(outputData: avs_pb.RunNodeWithInputsResp): any;
|
|
18
19
|
}
|
|
19
20
|
export default NodeFactory;
|
|
20
|
-
export { Node, ContractWriteNode, ContractReadNode, BranchNode, ETHTransferNode, GraphQLQueryNode, RestAPINode, CustomCodeNode, FilterNode, LoopNode, };
|
|
21
|
-
export type { ContractWriteNodeData, ContractReadNodeData, BranchNodeData, ETHTransferNodeData, GraphQLQueryNodeData, RestAPINodeData, CustomCodeNodeData, FilterNodeData, LoopNodeData, };
|
|
22
|
-
export type { NodeProps, ContractWriteNodeProps, ContractReadNodeProps, BranchNodeProps, ETHTransferNodeProps, GraphQLQueryNodeProps, RestAPINodeProps, CustomCodeNodeProps, FilterNodeProps, LoopNodeProps, };
|
|
21
|
+
export { Node, ContractWriteNode, ContractReadNode, BranchNode, ETHTransferNode, GraphQLQueryNode, RestAPINode, CustomCodeNode, FilterNode, LoopNode, BalanceNode, };
|
|
22
|
+
export type { ContractWriteNodeData, ContractReadNodeData, BranchNodeData, ETHTransferNodeData, GraphQLQueryNodeData, RestAPINodeData, CustomCodeNodeData, FilterNodeData, LoopNodeData, BalanceNodeData, };
|
|
23
|
+
export type { NodeProps, ContractWriteNodeProps, ContractReadNodeProps, BranchNodeProps, ETHTransferNodeProps, GraphQLQueryNodeProps, RestAPINodeProps, CustomCodeNodeProps, FilterNodeProps, LoopNodeProps, BalanceNodeProps, };
|
|
23
24
|
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/models/node/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAEhD,OAAO,iBAAiB,MAAM,iBAAiB,CAAC;AAChD,OAAO,cAAc,MAAM,cAAc,CAAC;AAC1C,OAAO,gBAAgB,MAAM,gBAAgB,CAAC;AAC9C,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,WAAW,MAAM,WAAW,CAAC;AACpC,OAAO,gBAAgB,MAAM,gBAAgB,CAAC;AAC9C,OAAO,eAAe,MAAM,eAAe,CAAC;AAC5C,OAAO,UAAU,MAAM,UAAU,CAAC;AAClC,OAAO,UAAU,MAAM,UAAU,CAAC;AAClC,OAAO,QAAQ,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAEL,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,SAAS,EACT,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,aAAa,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/models/node/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAEhD,OAAO,iBAAiB,MAAM,iBAAiB,CAAC;AAChD,OAAO,cAAc,MAAM,cAAc,CAAC;AAC1C,OAAO,gBAAgB,MAAM,gBAAgB,CAAC;AAC9C,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,WAAW,MAAM,WAAW,CAAC;AACpC,OAAO,gBAAgB,MAAM,gBAAgB,CAAC;AAC9C,OAAO,eAAe,MAAM,eAAe,CAAC;AAC5C,OAAO,UAAU,MAAM,UAAU,CAAC;AAClC,OAAO,UAAU,MAAM,UAAU,CAAC;AAClC,OAAO,QAAQ,MAAM,QAAQ,CAAC;AAC9B,OAAO,WAAW,MAAM,WAAW,CAAC;AACpC,OAAO,EAEL,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,SAAS,EACT,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,cAAM,WAAW;IACf,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IA6BrC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE;IAI9C,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,IAAI;IA2B/C,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,qBAAqB,GAAG,GAAG;CA8BrE;AAED,eAAe,WAAW,CAAC;AAG3B,OAAO,EACL,IAAI,EACJ,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,EACR,WAAW,GACZ,CAAC;AAGF,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,eAAe,GAChB,CAAC;AAGF,YAAY,EACV,SAAS,EACT,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,CAAC"}
|
|
@@ -10,6 +10,7 @@ import ETHTransferNode from "./ethTransfer";
|
|
|
10
10
|
import BranchNode from "./branch";
|
|
11
11
|
import FilterNode from "./filter";
|
|
12
12
|
import LoopNode from "./loop";
|
|
13
|
+
import BalanceNode from "./balance";
|
|
13
14
|
import { NodeType } from "@avaprotocol/types";
|
|
14
15
|
class NodeFactory {
|
|
15
16
|
static create(props) {
|
|
@@ -32,6 +33,8 @@ class NodeFactory {
|
|
|
32
33
|
return new FilterNode(props);
|
|
33
34
|
case NodeType.Loop:
|
|
34
35
|
return new LoopNode(props);
|
|
36
|
+
case NodeType.Balance:
|
|
37
|
+
return new BalanceNode(props);
|
|
35
38
|
case NodeType.Unspecified:
|
|
36
39
|
throw new Error("Cannot create node with unspecified type");
|
|
37
40
|
default:
|
|
@@ -61,6 +64,8 @@ class NodeFactory {
|
|
|
61
64
|
return FilterNode.fromResponse(raw);
|
|
62
65
|
case !!raw.getLoop():
|
|
63
66
|
return LoopNode.fromResponse(raw);
|
|
67
|
+
case !!raw.getBalance():
|
|
68
|
+
return BalanceNode.fromResponse(raw);
|
|
64
69
|
default:
|
|
65
70
|
throw new Error(`Unsupported node type: ${raw.getName()}`);
|
|
66
71
|
}
|
|
@@ -87,6 +92,8 @@ class NodeFactory {
|
|
|
87
92
|
return FilterNode.fromOutputData(outputData);
|
|
88
93
|
case avs_pb.RunNodeWithInputsResp.OutputDataCase.LOOP:
|
|
89
94
|
return LoopNode.fromOutputData(outputData);
|
|
95
|
+
case avs_pb.RunNodeWithInputsResp.OutputDataCase.BALANCE:
|
|
96
|
+
return BalanceNode.fromOutputData(outputData);
|
|
90
97
|
case avs_pb.RunNodeWithInputsResp.OutputDataCase.OUTPUT_DATA_NOT_SET:
|
|
91
98
|
default:
|
|
92
99
|
throw new Error(`Unsupported output data case: ${outputData.getOutputDataCase()}`);
|
|
@@ -95,4 +102,4 @@ class NodeFactory {
|
|
|
95
102
|
}
|
|
96
103
|
export default NodeFactory;
|
|
97
104
|
// Node object definitions
|
|
98
|
-
export { Node, ContractWriteNode, ContractReadNode, BranchNode, ETHTransferNode, GraphQLQueryNode, RestAPINode, CustomCodeNode, FilterNode, LoopNode, };
|
|
105
|
+
export { Node, ContractWriteNode, ContractReadNode, BranchNode, ETHTransferNode, GraphQLQueryNode, RestAPINode, CustomCodeNode, FilterNode, LoopNode, BalanceNode, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/models/node/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAA0C,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK3G,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,GACnC,QAAQ,
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/models/node/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAA0C,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK3G,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,GACnC,QAAQ,CAgBV;AAGD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACtB,aAAa,GACb,eAAe,GACf,cAAc,GACd,kBAAkB,GAClB,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,YAAY,CACf,GAAG;IAEF,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAGF,eAAO,MAAM,sBAAsB;6BAER,iBAAiB,KAAG,MAAM;qCAKlB,MAAM,aAAa,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAG,iBAAiB;CAMxG,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,IAAK,YAAW,SAAS;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;gBAGH,KAAK,EAAE,SAAS;IAO5B,SAAS,IAAI,MAAM,CAAC,QAAQ;IAW5B,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,IAAI;CAQhD"}
|
|
@@ -13,6 +13,7 @@ export function covertNodeTypeToString(status) {
|
|
|
13
13
|
[avs_pb.TaskNode.TaskTypeCase.FILTER]: NodeType.Filter,
|
|
14
14
|
[avs_pb.TaskNode.TaskTypeCase.LOOP]: NodeType.Loop,
|
|
15
15
|
[avs_pb.TaskNode.TaskTypeCase.CUSTOM_CODE]: NodeType.CustomCode,
|
|
16
|
+
[avs_pb.TaskNode.TaskTypeCase.BALANCE]: NodeType.Balance,
|
|
16
17
|
[avs_pb.TaskNode.TaskTypeCase.TASK_TYPE_NOT_SET]: NodeType.Unspecified,
|
|
17
18
|
};
|
|
18
19
|
return conversionMap[status];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../../src/models/node/loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,IAAI,MAAM,aAAa,CAAC;AAO/B,OAAO,EAGL,aAAa,
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../../src/models/node/loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,IAAI,MAAM,aAAa,CAAC;AAO/B,OAAO,EAGL,aAAa,EAKd,MAAM,oBAAoB,CAAC;AAG5B,cAAM,QAAS,SAAQ,IAAI;gBACb,KAAK,EAAE,aAAa;IAIhC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ;IA8BnD,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAsBxC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAe3C,OAAO,CAAC,0BAA0B;IA4BlC,SAAS,IAAI,MAAM,CAAC,QAAQ;IA8B5B,OAAO,CAAC,mBAAmB;IA+G3B,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,qBAAqB,GAAG,OAAO;CAkCzE;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../src/models/step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAMhD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEhE,cAAM,IAAK,YAAW,SAAS;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;gBAEV,KAAK,EAAE,SAAS;IAoB5B;;;OAGG;IACH,MAAM,IAAI,SAAS;IAsBnB,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,eAAe;IAoC9D,OAAO,CAAC,MAAM,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../src/models/step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAMhD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEhE,cAAM,IAAK,YAAW,SAAS;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;gBAEV,KAAK,EAAE,SAAS;IAoB5B;;;OAGG;IACH,MAAM,IAAI,SAAS;IAsBnB,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,eAAe;IAoC9D,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAqEhC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAmChC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI;CA2HvD;AAED,eAAe,IAAI,CAAC"}
|
package/dist/models/step.js
CHANGED
|
@@ -138,6 +138,10 @@ class Step {
|
|
|
138
138
|
return typeof step.getLoop === "function"
|
|
139
139
|
? step.getLoop()
|
|
140
140
|
: step.loop;
|
|
141
|
+
case avs_pb.Execution.Step.OutputDataCase.BALANCE:
|
|
142
|
+
return typeof step.getBalance === "function"
|
|
143
|
+
? step.getBalance()
|
|
144
|
+
: step.balance;
|
|
141
145
|
default:
|
|
142
146
|
return null;
|
|
143
147
|
}
|
|
@@ -176,6 +180,8 @@ class Step {
|
|
|
176
180
|
return avs_pb.Execution.Step.OutputDataCase.FILTER;
|
|
177
181
|
if (stepObj.loop)
|
|
178
182
|
return avs_pb.Execution.Step.OutputDataCase.LOOP;
|
|
183
|
+
if (stepObj.balance)
|
|
184
|
+
return avs_pb.Execution.Step.OutputDataCase.BALANCE;
|
|
179
185
|
return avs_pb.Execution.Step.OutputDataCase.OUTPUT_DATA_NOT_SET;
|
|
180
186
|
}
|
|
181
187
|
static fromResponse(step) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manual.d.ts","sourceRoot":"","sources":["../../../src/models/trigger/manual.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,OAAO,MAAM,aAAa,CAAC;AAMlC,OAAO,EAEL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"manual.d.ts","sourceRoot":"","sources":["../../../src/models/trigger/manual.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,OAAO,MAAM,aAAa,CAAC;AAMlC,OAAO,EAEL,kBAAkB,EAKnB,MAAM,oBAAoB,CAAC;AAE5B,cAAM,aAAc,SAAQ,OAAO;gBACrB,KAAK,EAAE,kBAAkB;IAQrC,SAAS,IAAI,MAAM,CAAC,WAAW;IAuE/B,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,GAAG,aAAa;IA6C3D;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO;CAuBlE;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as avs_pb from "@/grpc_codegen/avs_pb";
|
|
2
2
|
import Trigger from "./interface";
|
|
3
3
|
import { convertInputToProtobuf, extractInputFromProtobuf, convertProtobufValueToJs, } from "../../utils";
|
|
4
|
-
import { TriggerType, } from "@avaprotocol/types";
|
|
4
|
+
import { TriggerType, Lang, LangConverter, } from "@avaprotocol/types";
|
|
5
5
|
class ManualTrigger extends Trigger {
|
|
6
6
|
constructor(props) {
|
|
7
7
|
super({
|
|
@@ -22,10 +22,11 @@ class ManualTrigger extends Trigger {
|
|
|
22
22
|
if (this.data === null || this.data === undefined) {
|
|
23
23
|
throw new Error("ManualTrigger data is required");
|
|
24
24
|
}
|
|
25
|
-
// Extract data, headers, and
|
|
25
|
+
// Extract data, headers, pathParams, and lang from ManualTriggerDataType
|
|
26
26
|
let actualData = this.data;
|
|
27
27
|
let headers = {};
|
|
28
28
|
let pathParams = {};
|
|
29
|
+
let lang = Lang.JSON; // Default to JSON
|
|
29
30
|
if (typeof this.data === 'object' && this.data !== null && !Array.isArray(this.data)) {
|
|
30
31
|
const dataObj = this.data;
|
|
31
32
|
// If this.data has the ManualTriggerDataType structure
|
|
@@ -33,6 +34,7 @@ class ManualTrigger extends Trigger {
|
|
|
33
34
|
actualData = dataObj.data;
|
|
34
35
|
headers = dataObj.headers || {};
|
|
35
36
|
pathParams = dataObj.pathParams || {};
|
|
37
|
+
lang = dataObj.lang || Lang.JSON;
|
|
36
38
|
}
|
|
37
39
|
// Otherwise, use this.data directly as the data content
|
|
38
40
|
}
|
|
@@ -54,6 +56,9 @@ class ManualTrigger extends Trigger {
|
|
|
54
56
|
pathParamsMap.set(key, value);
|
|
55
57
|
});
|
|
56
58
|
}
|
|
59
|
+
// Set the lang field (required by protobuf)
|
|
60
|
+
const langValue = LangConverter.toProtobuf(lang);
|
|
61
|
+
config.setLang(langValue);
|
|
57
62
|
manualTrigger.setConfig(config);
|
|
58
63
|
trigger.setManual(manualTrigger);
|
|
59
64
|
return trigger;
|
|
@@ -61,6 +66,7 @@ class ManualTrigger extends Trigger {
|
|
|
61
66
|
static fromResponse(raw) {
|
|
62
67
|
const obj = raw.toObject();
|
|
63
68
|
let actualData = null;
|
|
69
|
+
let lang = Lang.JSON; // Default
|
|
64
70
|
const manualTrigger = raw.getManual();
|
|
65
71
|
if (manualTrigger) {
|
|
66
72
|
const config = manualTrigger.getConfig();
|
|
@@ -69,12 +75,15 @@ class ManualTrigger extends Trigger {
|
|
|
69
75
|
if (config.hasData()) {
|
|
70
76
|
actualData = extractInputFromProtobuf(config.getData());
|
|
71
77
|
}
|
|
78
|
+
// Extract lang field
|
|
79
|
+
lang = LangConverter.fromProtobuf(config.getLang());
|
|
72
80
|
}
|
|
73
81
|
}
|
|
74
|
-
// Create ManualTriggerDataType structure with
|
|
82
|
+
// Create ManualTriggerDataType structure with data and lang
|
|
75
83
|
// Headers and pathParams are available in baseInput for execution step display
|
|
76
84
|
const manualTriggerData = {
|
|
77
85
|
data: actualData,
|
|
86
|
+
lang: lang,
|
|
78
87
|
};
|
|
79
88
|
return new ManualTrigger({
|
|
80
89
|
...obj,
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,aAAa,EAGvB,MAAM,2CAA2C,CAAC;AAGnD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,GAAG,CAiCnE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,GAAG,GAAG,aAAa,CA6BlE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAatD;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAkB5E;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,aAAa,EAGvB,MAAM,2CAA2C,CAAC;AAGnD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,GAAG,CAiCnE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,GAAG,GAAG,aAAa,CA6BlE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAatD;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAkB5E;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CA4BzE;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CASzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,aAAa,GAAG,SAAS,CAK3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC/C,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAiCjC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAsB7D"}
|
package/dist/utils.js
CHANGED
|
@@ -158,6 +158,8 @@ export function convertProtobufNodeTypeToSdk(protobufType) {
|
|
|
158
158
|
return NodeType.Filter; // "filter"
|
|
159
159
|
case "NODE_TYPE_LOOP":
|
|
160
160
|
return NodeType.Loop; // "loop"
|
|
161
|
+
case "NODE_TYPE_BALANCE":
|
|
162
|
+
return NodeType.Balance; // "balance"
|
|
161
163
|
case "NODE_TYPE_UNSPECIFIED":
|
|
162
164
|
return NodeType.Unspecified; // "unspecified"
|
|
163
165
|
default:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@avaprotocol/sdk-js",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.9.1",
|
|
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",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"prepare": "node ../../scripts/prepare-package.js"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@avaprotocol/types": "2.
|
|
34
|
+
"@avaprotocol/types": "2.7.1",
|
|
35
35
|
"@grpc/grpc-js": "^1.11.3",
|
|
36
36
|
"@grpc/proto-loader": "^0.7.13",
|
|
37
37
|
"dotenv": "^16.4.5",
|