@avaprotocol/sdk-js 2.9.3 → 2.10.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.
@@ -1 +1 @@
1
- {"version":3,"file":"contractWrite.d.ts","sourceRoot":"","sources":["../../../src/models/node/contractWrite.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAEL,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,oBAAoB,CAAC;AAK5B,cAAM,iBAAkB,SAAQ,IAAI;gBACtB,KAAK,EAAE,sBAAsB;IAIzC;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,CAAC,iBAAiB;IA6CtF,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,iBAAiB;IAgC5D,SAAS,IAAI,MAAM,CAAC,QAAQ;IAe5B,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,qBAAqB,GAAG,GAAG;CAYrE;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"contractWrite.d.ts","sourceRoot":"","sources":["../../../src/models/node/contractWrite.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAEL,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,oBAAoB,CAAC;AAK5B,cAAM,iBAAkB,SAAQ,IAAI;gBACtB,KAAK,EAAE,sBAAsB;IAIzC;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,CAAC,iBAAiB;IA6CtF,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,iBAAiB;IAmC5D,SAAS,IAAI,MAAM,CAAC,QAAQ;IAe5B,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,qBAAqB,GAAG,GAAG;CAYrE;AAED,eAAe,iBAAiB,CAAC"}
@@ -67,9 +67,11 @@ class ContractWriteNode extends Node {
67
67
  // callData is optional, only include if present
68
68
  ...(call.callData && { callData: call.callData }),
69
69
  })) || [],
70
- // Include isSimulated if present in protobuf
71
- ...(protobufData.isSimulated !== undefined && { isSimulated: protobufData.isSimulated }),
72
70
  };
71
+ // Include isSimulated if present in protobuf
72
+ if (protobufData.isSimulated !== undefined) {
73
+ data.isSimulated = protobufData.isSimulated;
74
+ }
73
75
  return new ContractWriteNode({
74
76
  ...obj,
75
77
  type: NodeType.ContractWrite,
@@ -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,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
+ {"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;AAK5B,cAAM,cAAe,SAAQ,IAAI;gBACnB,KAAK,EAAE,mBAAmB;IAItC;;;;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,7 +1,7 @@
1
1
  import Node from "./interface";
2
2
  import * as avs_pb from "@/grpc_codegen/avs_pb";
3
3
  import { NodeType, LangConverter, } from "@avaprotocol/types";
4
- import { convertProtobufValueToJs, } from "../../utils";
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 {
7
7
  constructor(props) {
@@ -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,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"}
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;CAiCrE;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"}
@@ -95,6 +95,9 @@ class NodeFactory {
95
95
  case avs_pb.RunNodeWithInputsResp.OutputDataCase.BALANCE:
96
96
  return BalanceNode.fromOutputData(outputData);
97
97
  case avs_pb.RunNodeWithInputsResp.OutputDataCase.OUTPUT_DATA_NOT_SET:
98
+ // Some node types may not return output data (e.g., FilterNode with no matches)
99
+ // Return null to indicate no output data
100
+ return null;
98
101
  default:
99
102
  throw new Error(`Unsupported output data case: ${outputData.getOutputDataCase()}`);
100
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/models/node/filter.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAGL,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAM5B,cAAM,UAAW,SAAQ,IAAI;gBACf,KAAK,EAAE,eAAe;IAIlC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,UAAU;IAWrD,SAAS,IAAI,MAAM,CAAC,QAAQ;IAiB5B,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,qBAAqB,GAAG,OAAO,EAAE;CAoC3E;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/models/node/filter.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAGL,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAI5B,cAAM,UAAW,SAAQ,IAAI;gBACf,KAAK,EAAE,eAAe;IAIlC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,UAAU;IAWrD,SAAS,IAAI,MAAM,CAAC,QAAQ;IAiB5B,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,qBAAqB,GAAG,OAAO,EAAE;CAoC3E;AAED,eAAe,UAAU,CAAC"}
@@ -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,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
+ {"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;IAsH3B,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,qBAAqB,GAAG,OAAO;CAkCzE;AAED,eAAe,QAAQ,CAAC"}
@@ -134,7 +134,7 @@ class LoopNode extends Node {
134
134
  }
135
135
  case "contractWrite": {
136
136
  const writeConfig = config;
137
- const contractWrite = ContractWriteNode.createProtobufNode({
137
+ const contractWriteData = {
138
138
  contractAddress: writeConfig.contractAddress,
139
139
  contractAbi: writeConfig.contractAbi,
140
140
  methodCalls: writeConfig.methodCalls?.map((call) => ({
@@ -142,7 +142,12 @@ class LoopNode extends Node {
142
142
  methodParams: call.methodParams || [],
143
143
  ...(call.callData && { callData: call.callData }),
144
144
  })) || [],
145
- });
145
+ };
146
+ // Include isSimulated if present
147
+ if (writeConfig.isSimulated !== undefined) {
148
+ contractWriteData.isSimulated = writeConfig.isSimulated;
149
+ }
150
+ const contractWrite = ContractWriteNode.createProtobufNode(contractWriteData);
146
151
  loopNode.setContractWrite(contractWrite);
147
152
  break;
148
153
  }
@@ -13,6 +13,7 @@ declare class RestAPINode extends Node {
13
13
  method: string;
14
14
  body?: string;
15
15
  headers?: Record<string, string>;
16
+ options?: Record<string, unknown>;
16
17
  }): avs_pb.RestAPINode;
17
18
  static fromResponse(raw: avs_pb.TaskNode): RestAPINode;
18
19
  toRequest(): avs_pb.TaskNode;
@@ -1 +1 @@
1
- {"version":3,"file":"restApi.d.ts","sourceRoot":"","sources":["../../../src/models/node/restApi.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAGL,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAS5B,cAAM,WAAY,SAAQ,IAAI;gBAChB,KAAK,EAAE,gBAAgB;IAInC;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE;QACpC,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,GAAG,MAAM,CAAC,WAAW;IAmBtB,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,WAAW;IAuBtD,SAAS,IAAI,MAAM,CAAC,QAAQ;IAe5B,MAAM,CAAC,cAAc,CACnB,UAAU,EAAE,MAAM,CAAC,qBAAqB,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAclC;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"restApi.d.ts","sourceRoot":"","sources":["../../../src/models/node/restApi.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAGL,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAK5B,cAAM,WAAY,SAAQ,IAAI;gBAChB,KAAK,EAAE,gBAAgB;IAInC;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE;QACpC,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,GAAG,MAAM,CAAC,WAAW;IAuBtB,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,WAAW;IAgCtD,SAAS,IAAI,MAAM,CAAC,QAAQ;IAe5B,MAAM,CAAC,cAAc,CACnB,UAAU,EAAE,MAAM,CAAC,qBAAqB,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAclC;AAED,eAAe,WAAW,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import Node from "./interface";
2
2
  import * as avs_pb from "@/grpc_codegen/avs_pb";
3
3
  import { NodeType, } from "@avaprotocol/types";
4
- import { convertProtobufValueToJs, } from "../../utils";
4
+ import { convertProtobufValueToJs, convertJSValueToProtobuf } from "../../utils";
5
5
  // Required props for constructor: id, name, type and data: { url, method, headersMap, body }
6
6
  class RestAPINode extends Node {
7
7
  constructor(props) {
@@ -24,27 +24,38 @@ class RestAPINode extends Node {
24
24
  headersMap.set(key, value);
25
25
  });
26
26
  }
27
+ if (configData.options) {
28
+ config.setOptions(convertJSValueToProtobuf(configData.options));
29
+ }
27
30
  node.setConfig(config);
28
31
  return node;
29
32
  }
30
33
  static fromResponse(raw) {
31
34
  // Convert the raw object to RestAPINodeProps, which should keep name and id
32
35
  const obj = raw.toObject();
36
+ const config = raw.getRestApi().getConfig();
33
37
  return new RestAPINode({
34
38
  ...obj,
35
39
  type: NodeType.RestAPI,
36
40
  data: {
37
- url: raw.getRestApi().getConfig().getUrl(),
38
- method: raw.getRestApi().getConfig().getMethod(),
39
- body: raw.getRestApi().getConfig().getBody(),
41
+ url: config.getUrl(),
42
+ method: config.getMethod(),
43
+ body: config.getBody(),
40
44
  headers: (() => {
41
- const headersMap = raw.getRestApi().getConfig().getHeadersMap();
45
+ const headersMap = config.getHeadersMap();
42
46
  const headers = {};
43
47
  headersMap.forEach((value, key) => {
44
48
  headers[key] = value;
45
49
  });
46
50
  return headers;
47
51
  })(),
52
+ options: (() => {
53
+ const optionsProto = config.getOptions();
54
+ if (optionsProto) {
55
+ return convertProtobufValueToJs(optionsProto);
56
+ }
57
+ return undefined;
58
+ })(),
48
59
  },
49
60
  });
50
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/models/trigger/event.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAEhD,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,EAGL,kBAAkB,EAClB,iBAAiB,EAIlB,MAAM,oBAAoB,CAAC;AA8C5B,cAAM,YAAa,SAAQ,OAAO;gBACpB,KAAK,EAAE,iBAAiB;IAIpC,SAAS,IAAI,MAAM,CAAC,WAAW;IAsH/B,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,GAAG,YAAY;IAoF1D;;;;OAIG;IACH,SAAS,IAAI,kBAAkB,GAAG,SAAS;IAI3C;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,GAAG,GAAG;CA0B9D;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/models/trigger/event.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAEhD,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,EAGL,kBAAkB,EAClB,iBAAiB,EAIlB,MAAM,oBAAoB,CAAC;AA0C5B,cAAM,YAAa,SAAQ,OAAO;gBACpB,KAAK,EAAE,iBAAiB;IAIpC,SAAS,IAAI,MAAM,CAAC,WAAW;IA+G/B,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,GAAG,YAAY;IAmF1D;;;;OAIG;IACH,SAAS,IAAI,kBAAkB,GAAG,SAAS;IAI3C;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,GAAG,GAAG;CA0B9D;AAED,eAAe,YAAY,CAAC"}
@@ -32,13 +32,9 @@ import { convertProtobufValueToJs } from "../../utils";
32
32
  // {
33
33
  // addresses: ["0xA0b86a33E6441e6067ec0da4Cc2C8ae77d85e7b1"],
34
34
  // topics: [
35
- // {
36
- // values: [
37
- // "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
38
- // null,
39
- // "0x000000000000000000000000c60e71bd0f2e6d8832fea1a2d56091c48493c788"
40
- // ]
41
- // }
35
+ // "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", // [0] event signature
36
+ // null, // [1] FROM address (wildcard - any sender)
37
+ // "0x000000000000000000000000c60e71bd0f2e6d8832fea1a2d56091c48493c788" // [2] TO address
42
38
  // ]
43
39
  // }
44
40
  // ]
@@ -68,19 +64,12 @@ class EventTrigger extends Trigger {
68
64
  if (queryData.addresses && queryData.addresses.length > 0) {
69
65
  query.setAddressesList(queryData.addresses);
70
66
  }
71
- // Set topics if provided
67
+ // Set topics if provided - flat array format
72
68
  if (queryData.topics && queryData.topics.length > 0) {
73
- const topicsMessages = queryData.topics.map((topicData) => {
74
- const topics = new avs_pb.EventTrigger.Topics();
75
- if (topicData.values) {
76
- // Convert null values to empty strings for protobuf compatibility
77
- // null represents "any value" wildcards in EVM log filtering
78
- const processedValues = topicData.values.map((value) => value === null ? "" : value);
79
- topics.setValuesList(processedValues);
80
- }
81
- return topics;
82
- });
83
- query.setTopicsList(topicsMessages);
69
+ // Convert null values to empty strings for protobuf compatibility
70
+ // null represents "any value" wildcards in EVM log filtering
71
+ const processedTopics = queryData.topics.map((value) => value === null ? "" : value);
72
+ query.setTopicsList(processedTopics);
84
73
  }
85
74
  // Set maxEventsPerBlock if provided
86
75
  if (queryData.maxEventsPerBlock !== undefined) {
@@ -150,21 +139,18 @@ class EventTrigger extends Trigger {
150
139
  config.getQueriesList().forEach((query) => {
151
140
  const queryData = {
152
141
  addresses: [],
153
- topics: [],
142
+ topics: [], // Flat array of topic strings
154
143
  contractAbi: [], // Add the required contractAbi field
155
144
  };
156
145
  // Extract addresses
157
146
  if (query.getAddressesList && query.getAddressesList().length > 0) {
158
147
  queryData.addresses = query.getAddressesList();
159
148
  }
160
- // Extract topics
149
+ // Extract topics - now a flat array
161
150
  if (query.getTopicsList && query.getTopicsList().length > 0) {
162
- queryData.topics = query.getTopicsList().map((topics) => ({
163
- // Don't convert empty strings back to null - preserve the original values
164
- // The backend may legitimately use empty strings, and we shouldn't assume
165
- // they were originally null values from the client
166
- values: topics.getValuesList() || [],
167
- }));
151
+ // Convert empty strings back to null for JavaScript compatibility
152
+ // Empty strings represent wildcards in the protobuf representation
153
+ queryData.topics = query.getTopicsList().map((topic) => topic === "" ? null : topic);
168
154
  }
169
155
  // Extract maxEventsPerBlock
170
156
  const maxEvents = query.getMaxEventsPerBlock();
package/dist/utils.d.ts CHANGED
@@ -25,6 +25,11 @@ export declare function convertJSValueToProtobuf(value: any): ProtobufValue;
25
25
  * Leaves non-objects and arrays intact (arrays are mapped over).
26
26
  */
27
27
  export declare function toCamelCaseKeys<T = any>(input: any): T;
28
+ /**
29
+ * Recursively convert object keys from camelCase to snake_case.
30
+ * Leaves non-objects and arrays intact (arrays are mapped over).
31
+ */
32
+ export declare function toSnakeCaseKeys<T = any>(input: any): T;
28
33
  /**
29
34
  * Convert protobuf trigger type string to SDK trigger type string
30
35
  *
@@ -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,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"}
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;;;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
@@ -107,6 +107,25 @@ export function toCamelCaseKeys(input) {
107
107
  }
108
108
  return result;
109
109
  }
110
+ /**
111
+ * Recursively convert object keys from camelCase to snake_case.
112
+ * Leaves non-objects and arrays intact (arrays are mapped over).
113
+ */
114
+ export function toSnakeCaseKeys(input) {
115
+ if (input === null || input === undefined)
116
+ return input;
117
+ if (Array.isArray(input)) {
118
+ return input.map((item) => toSnakeCaseKeys(item));
119
+ }
120
+ if (typeof input !== "object")
121
+ return input;
122
+ const result = {};
123
+ for (const [key, value] of Object.entries(input)) {
124
+ const snakeKey = key.replace(/[A-Z]/g, (c) => `_${c.toLowerCase()}`);
125
+ result[snakeKey] = toSnakeCaseKeys(value);
126
+ }
127
+ return result;
128
+ }
110
129
  /**
111
130
  * Convert protobuf trigger type string to SDK trigger type string
112
131
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@avaprotocol/sdk-js",
3
- "version": "2.9.3",
3
+ "version": "2.10.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.7.3",
34
+ "@avaprotocol/types": "2.8.1",
35
35
  "@grpc/grpc-js": "^1.11.3",
36
36
  "@grpc/proto-loader": "^0.7.13",
37
37
  "dotenv": "^16.4.5",