@seljs/runtime 1.3.0-beta.2 → 1.3.0-beta.24

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.
@@ -196,6 +196,25 @@ const collectCalls = (ast, registry) => {
196
196
  return;
197
197
  }
198
198
  if (!receiverName || !registry.get(receiverName)) {
199
+ if (method === "balance" && args.length === 0) {
200
+ const receiverNode = node.args[1];
201
+ const { arg: receiverArg, traversed } = classifyArg(receiverNode);
202
+ if (receiverArg) {
203
+ const call = {
204
+ id: generateCallId("__multicall3", "getEthBalance", [receiverArg]),
205
+ contract: "__multicall3",
206
+ method: "getEthBalance",
207
+ args: [receiverArg],
208
+ astNode: node
209
+ };
210
+ calls.push(call);
211
+ debug("found address accessor %s (id=%s)", "balance", call.id);
212
+ return call;
213
+ }
214
+ deferredNodes.add(node);
215
+ if (!traversed) traverse(receiverNode);
216
+ return;
217
+ }
199
218
  handleNonContractRCall(node, method, args);
200
219
  return;
201
220
  }
@@ -195,6 +195,25 @@ const collectCalls = (ast, registry) => {
195
195
  return;
196
196
  }
197
197
  if (!receiverName || !registry.get(receiverName)) {
198
+ if (method === "balance" && args.length === 0) {
199
+ const receiverNode = node.args[1];
200
+ const { arg: receiverArg, traversed } = classifyArg(receiverNode);
201
+ if (receiverArg) {
202
+ const call = {
203
+ id: generateCallId("__multicall3", "getEthBalance", [receiverArg]),
204
+ contract: "__multicall3",
205
+ method: "getEthBalance",
206
+ args: [receiverArg],
207
+ astNode: node
208
+ };
209
+ calls.push(call);
210
+ debug("found address accessor %s (id=%s)", "balance", call.id);
211
+ return call;
212
+ }
213
+ deferredNodes.add(node);
214
+ if (!traversed) traverse(receiverNode);
215
+ return;
216
+ }
198
217
  handleNonContractRCall(node, method, args);
199
218
  return;
200
219
  }
@@ -0,0 +1,22 @@
1
+ const require_multicall = require("../execution/multicall.cjs");
2
+ //#region src/environment/builtin-contracts.ts
3
+ /**
4
+ * Returns built-in contract schemas that are always available in the runtime.
5
+ * These are internal contracts not defined by the user schema but required
6
+ * for built-in features like address accessors.
7
+ */
8
+ const getBuiltinContracts = (multicall) => [{
9
+ name: "__multicall3",
10
+ address: multicall?.address ?? "0xcA11bde05977b3631167028862bE2a173976CA11",
11
+ methods: [{
12
+ name: "getEthBalance",
13
+ params: [{
14
+ name: "addr",
15
+ type: "sol_address"
16
+ }],
17
+ returns: "sol_int",
18
+ abi: require_multicall.getEthBalanceAbi
19
+ }]
20
+ }];
21
+ //#endregion
22
+ exports.getBuiltinContracts = getBuiltinContracts;
@@ -0,0 +1,22 @@
1
+ import { getEthBalanceAbi } from "../execution/multicall.mjs";
2
+ //#region src/environment/builtin-contracts.ts
3
+ /**
4
+ * Returns built-in contract schemas that are always available in the runtime.
5
+ * These are internal contracts not defined by the user schema but required
6
+ * for built-in features like address accessors.
7
+ */
8
+ const getBuiltinContracts = (multicall) => [{
9
+ name: "__multicall3",
10
+ address: multicall?.address ?? "0xcA11bde05977b3631167028862bE2a173976CA11",
11
+ methods: [{
12
+ name: "getEthBalance",
13
+ params: [{
14
+ name: "addr",
15
+ type: "sol_address"
16
+ }],
17
+ returns: "sol_int",
18
+ abi: getEthBalanceAbi
19
+ }]
20
+ }];
21
+ //#endregion
22
+ export { getBuiltinContracts };
@@ -16,7 +16,7 @@ interface SELClient {
16
16
  data: `0x${string}`;
17
17
  blockNumber?: bigint;
18
18
  }) => Promise<{
19
- data?: `0x${string}`;
19
+ data?: `0x${string}` | undefined;
20
20
  }>;
21
21
  /**
22
22
  * Get the current block number (eth_blockNumber) for pinning reads
@@ -16,7 +16,7 @@ interface SELClient {
16
16
  data: `0x${string}`;
17
17
  blockNumber?: bigint;
18
18
  }) => Promise<{
19
- data?: `0x${string}`;
19
+ data?: `0x${string}` | undefined;
20
20
  }>;
21
21
  /**
22
22
  * Get the current block number (eth_blockNumber) for pinning reads
@@ -1,4 +1,5 @@
1
1
  require("../_virtual/_rolldown/runtime.cjs");
2
+ const require_builtin_contracts = require("./builtin-contracts.cjs");
2
3
  const require_errors = require("../errors/errors.cjs");
3
4
  require("../errors/index.cjs");
4
5
  const require_client = require("./client.cjs");
@@ -12,7 +13,6 @@ const require_dependency_analyzer = require("../analysis/dependency-analyzer.cjs
12
13
  const require_round_planner = require("../analysis/round-planner.cjs");
13
14
  const require_multi_round_executor = require("../execution/multi-round-executor.cjs");
14
15
  let _seljs_checker = require("@seljs/checker");
15
- let _seljs_common = require("@seljs/common");
16
16
  //#region src/environment/environment.ts
17
17
  /**
18
18
  * Core SEL runtime that bridges CEL expression evaluation with EVM contract reads.
@@ -73,16 +73,20 @@ var SELRuntime = class {
73
73
  this.multicallOptions = config.multicall;
74
74
  if (config.client) require_client.validateClient(config.client);
75
75
  this.client = config.client;
76
- this.schema = config.schema;
76
+ this.schema = {
77
+ ...config.schema,
78
+ contracts: [...config.schema.contracts, ...require_builtin_contracts.getBuiltinContracts(config.multicall)]
79
+ };
77
80
  const handler = (contractName, methodName, args) => {
78
- const contract = this.findContract(contractName);
79
- if (!contract) throw new require_errors.SELContractError(`Unknown contract "${contractName}"`, { contractName });
80
- const method = contract.methods.find((m) => m.name === methodName);
81
- if (!method) throw new require_errors.SELContractError(`Unknown method "${contractName}.${methodName}"`, {
82
- contractName,
83
- methodName
81
+ const resolved = this.resolveCall(contractName, methodName, args);
82
+ const contract = this.findContract(resolved.contractName);
83
+ if (!contract) throw new require_errors.SELContractError(`Unknown contract "${resolved.contractName}"`, { contractName: resolved.contractName });
84
+ const method = contract.methods.find((m) => m.name === resolved.methodName);
85
+ if (!method) throw new require_errors.SELContractError(`Unknown method "${resolved.contractName}.${resolved.methodName}"`, {
86
+ contractName: resolved.contractName,
87
+ methodName: resolved.methodName
84
88
  });
85
- return require_contract_caller.executeContractCall(contract, method, args, {
89
+ return require_contract_caller.executeContractCall(contract, method, resolved.args, {
86
90
  executionCache: this.currentCache,
87
91
  client: this.currentClient ?? this.client,
88
92
  codecRegistry: this.codecRegistry,
@@ -101,7 +105,7 @@ var SELRuntime = class {
101
105
  *
102
106
  * @param expression - A CEL expression string to type-check
103
107
  * @returns The type-check result containing validity, inferred type, and any errors
104
- * @throws {@link SELTypeError} If the expression contains unrecoverable type errors
108
+ * @throws {@link SELEvaluationError} If the expression contains unrecoverable type errors
105
109
  */
106
110
  check(expression) {
107
111
  try {
@@ -125,8 +129,7 @@ var SELRuntime = class {
125
129
  * @param context Variable bindings for evaluation
126
130
  * @param options Optional client override
127
131
  * @returns An {@link EvaluateResult} containing the value and optional execution metadata
128
- * @throws {@link SELParseError} If the expression has invalid syntax
129
- * @throws {@link SELTypeError} If type-checking fails
132
+ * @throws {@link SELLintError} If the expression fails parse, type-check, or lint rules
130
133
  * @throws {@link SELContractError} If a contract call fails or no client is available
131
134
  * @throws {@link SELEvaluationError} If CEL evaluation fails
132
135
  */
@@ -144,23 +147,21 @@ var SELRuntime = class {
144
147
  }
145
148
  }
146
149
  planExecution(expression, evaluationContext) {
150
+ const checkResult = this.checker.check(expression);
151
+ if (!checkResult.valid) throw new require_errors.SELLintError(checkResult.diagnostics.filter((d) => d.severity === "error"));
147
152
  const parseResult = this.env.parse(expression);
148
153
  const collectedCalls = require_call_collector.collectCalls(parseResult.ast, { get: (name) => this.findContract(name) });
149
154
  debug("evaluate: collected %d calls", collectedCalls.length);
150
155
  const normalizedContext = Object.keys(evaluationContext).length ? require_context.normalizeContextForEvaluation(evaluationContext, this.variableTypes, this.codecRegistry) : void 0;
151
156
  const executionVariables = Object.keys(evaluationContext).length ? evaluationContext : {};
152
- const typeCheckResult = parseResult.check();
153
- if (!typeCheckResult.valid) throw new _seljs_common.SELTypeError(typeCheckResult.error?.message ?? "Type check failed", { cause: typeCheckResult.error });
154
- const lintResult = this.checker.check(expression);
155
- const lintErrors = lintResult.diagnostics.filter((d) => d.severity === "error");
156
- if (lintErrors.length > 0) throw new require_errors.SELLintError(lintErrors);
157
+ const diagnostics = checkResult.diagnostics.filter((d) => d.severity !== "error");
157
158
  return {
158
159
  parseResult,
159
160
  collectedCalls,
160
161
  normalizedContext,
161
162
  executionVariables,
162
- typeCheckResult,
163
- diagnostics: lintResult.diagnostics.filter((d) => d.severity !== "error")
163
+ resolvedType: checkResult.type,
164
+ diagnostics
164
165
  };
165
166
  }
166
167
  async executeContractCalls(collectedCalls, executionVariables, resolvedClient) {
@@ -211,7 +212,7 @@ var SELRuntime = class {
211
212
  const resolvedClient = options?.client ?? this.client;
212
213
  if (resolvedClient && resolvedClient !== this.client) require_client.validateClient(resolvedClient);
213
214
  try {
214
- const { parseResult, collectedCalls, normalizedContext, executionVariables, typeCheckResult, diagnostics } = this.planExecution(expression, context ?? {});
215
+ const { parseResult, collectedCalls, normalizedContext, executionVariables, resolvedType, diagnostics } = this.planExecution(expression, context ?? {});
215
216
  let executionMeta;
216
217
  let executionCache;
217
218
  if (collectedCalls.length > 0) {
@@ -235,18 +236,35 @@ var SELRuntime = class {
235
236
  this.currentClient = void 0;
236
237
  this.currentCallCounter = void 0;
237
238
  }
238
- const value = typeCheckResult.type ? this.codecRegistry.encode(typeCheckResult.type, result) : result;
239
+ const value = resolvedType ? this.codecRegistry.encode(resolvedType, result) : result;
239
240
  debug("evaluate: result type=%s", typeof value);
240
241
  const evalResult = executionMeta ? {
241
242
  value,
242
243
  meta: executionMeta
243
244
  } : { value };
245
+ if (resolvedType) evalResult.type = resolvedType;
244
246
  if (diagnostics.length > 0) evalResult.diagnostics = diagnostics;
245
247
  return evalResult;
246
248
  } catch (error) {
247
249
  throw require_error_wrapper.wrapError(error);
248
250
  }
249
251
  }
252
+ /**
253
+ * Remaps receiver method calls to their underlying contract calls.
254
+ * e.g., sol_address.balance() → __multicall3.getEthBalance(addr)
255
+ */
256
+ resolveCall(contractName, methodName, args) {
257
+ if (contractName === "sol_address" && methodName === "balance") return {
258
+ contractName: "__multicall3",
259
+ methodName: "getEthBalance",
260
+ args
261
+ };
262
+ return {
263
+ contractName,
264
+ methodName,
265
+ args
266
+ };
267
+ }
250
268
  findContract(name) {
251
269
  return this.schema.contracts.find((c) => c.name === name);
252
270
  }
@@ -52,7 +52,7 @@ declare class SELRuntime {
52
52
  *
53
53
  * @param expression - A CEL expression string to type-check
54
54
  * @returns The type-check result containing validity, inferred type, and any errors
55
- * @throws {@link SELTypeError} If the expression contains unrecoverable type errors
55
+ * @throws {@link SELEvaluationError} If the expression contains unrecoverable type errors
56
56
  */
57
57
  check(expression: string): TypeCheckResult;
58
58
  /**
@@ -70,8 +70,7 @@ declare class SELRuntime {
70
70
  * @param context Variable bindings for evaluation
71
71
  * @param options Optional client override
72
72
  * @returns An {@link EvaluateResult} containing the value and optional execution metadata
73
- * @throws {@link SELParseError} If the expression has invalid syntax
74
- * @throws {@link SELTypeError} If type-checking fails
73
+ * @throws {@link SELLintError} If the expression fails parse, type-check, or lint rules
75
74
  * @throws {@link SELContractError} If a contract call fails or no client is available
76
75
  * @throws {@link SELEvaluationError} If CEL evaluation fails
77
76
  */
@@ -79,6 +78,11 @@ declare class SELRuntime {
79
78
  private planExecution;
80
79
  private executeContractCalls;
81
80
  private doEvaluate;
81
+ /**
82
+ * Remaps receiver method calls to their underlying contract calls.
83
+ * e.g., sol_address.balance() → __multicall3.getEthBalance(addr)
84
+ */
85
+ private resolveCall;
82
86
  private findContract;
83
87
  }
84
88
  //#endregion
@@ -52,7 +52,7 @@ declare class SELRuntime {
52
52
  *
53
53
  * @param expression - A CEL expression string to type-check
54
54
  * @returns The type-check result containing validity, inferred type, and any errors
55
- * @throws {@link SELTypeError} If the expression contains unrecoverable type errors
55
+ * @throws {@link SELEvaluationError} If the expression contains unrecoverable type errors
56
56
  */
57
57
  check(expression: string): TypeCheckResult;
58
58
  /**
@@ -70,8 +70,7 @@ declare class SELRuntime {
70
70
  * @param context Variable bindings for evaluation
71
71
  * @param options Optional client override
72
72
  * @returns An {@link EvaluateResult} containing the value and optional execution metadata
73
- * @throws {@link SELParseError} If the expression has invalid syntax
74
- * @throws {@link SELTypeError} If type-checking fails
73
+ * @throws {@link SELLintError} If the expression fails parse, type-check, or lint rules
75
74
  * @throws {@link SELContractError} If a contract call fails or no client is available
76
75
  * @throws {@link SELEvaluationError} If CEL evaluation fails
77
76
  */
@@ -79,6 +78,11 @@ declare class SELRuntime {
79
78
  private planExecution;
80
79
  private executeContractCalls;
81
80
  private doEvaluate;
81
+ /**
82
+ * Remaps receiver method calls to their underlying contract calls.
83
+ * e.g., sol_address.balance() → __multicall3.getEthBalance(addr)
84
+ */
85
+ private resolveCall;
82
86
  private findContract;
83
87
  }
84
88
  //#endregion
@@ -1,4 +1,5 @@
1
- import { MulticallBatchError, SELContractError, SELLintError, SELTypeError } from "../errors/errors.mjs";
1
+ import { getBuiltinContracts } from "./builtin-contracts.mjs";
2
+ import { MulticallBatchError, SELContractError, SELLintError } from "../errors/errors.mjs";
2
3
  import "../errors/index.mjs";
3
4
  import { validateClient } from "./client.mjs";
4
5
  import { normalizeContextForEvaluation } from "./context.mjs";
@@ -71,16 +72,20 @@ var SELRuntime = class {
71
72
  this.multicallOptions = config.multicall;
72
73
  if (config.client) validateClient(config.client);
73
74
  this.client = config.client;
74
- this.schema = config.schema;
75
+ this.schema = {
76
+ ...config.schema,
77
+ contracts: [...config.schema.contracts, ...getBuiltinContracts(config.multicall)]
78
+ };
75
79
  const handler = (contractName, methodName, args) => {
76
- const contract = this.findContract(contractName);
77
- if (!contract) throw new SELContractError(`Unknown contract "${contractName}"`, { contractName });
78
- const method = contract.methods.find((m) => m.name === methodName);
79
- if (!method) throw new SELContractError(`Unknown method "${contractName}.${methodName}"`, {
80
- contractName,
81
- methodName
80
+ const resolved = this.resolveCall(contractName, methodName, args);
81
+ const contract = this.findContract(resolved.contractName);
82
+ if (!contract) throw new SELContractError(`Unknown contract "${resolved.contractName}"`, { contractName: resolved.contractName });
83
+ const method = contract.methods.find((m) => m.name === resolved.methodName);
84
+ if (!method) throw new SELContractError(`Unknown method "${resolved.contractName}.${resolved.methodName}"`, {
85
+ contractName: resolved.contractName,
86
+ methodName: resolved.methodName
82
87
  });
83
- return executeContractCall(contract, method, args, {
88
+ return executeContractCall(contract, method, resolved.args, {
84
89
  executionCache: this.currentCache,
85
90
  client: this.currentClient ?? this.client,
86
91
  codecRegistry: this.codecRegistry,
@@ -99,7 +104,7 @@ var SELRuntime = class {
99
104
  *
100
105
  * @param expression - A CEL expression string to type-check
101
106
  * @returns The type-check result containing validity, inferred type, and any errors
102
- * @throws {@link SELTypeError} If the expression contains unrecoverable type errors
107
+ * @throws {@link SELEvaluationError} If the expression contains unrecoverable type errors
103
108
  */
104
109
  check(expression) {
105
110
  try {
@@ -123,8 +128,7 @@ var SELRuntime = class {
123
128
  * @param context Variable bindings for evaluation
124
129
  * @param options Optional client override
125
130
  * @returns An {@link EvaluateResult} containing the value and optional execution metadata
126
- * @throws {@link SELParseError} If the expression has invalid syntax
127
- * @throws {@link SELTypeError} If type-checking fails
131
+ * @throws {@link SELLintError} If the expression fails parse, type-check, or lint rules
128
132
  * @throws {@link SELContractError} If a contract call fails or no client is available
129
133
  * @throws {@link SELEvaluationError} If CEL evaluation fails
130
134
  */
@@ -142,23 +146,21 @@ var SELRuntime = class {
142
146
  }
143
147
  }
144
148
  planExecution(expression, evaluationContext) {
149
+ const checkResult = this.checker.check(expression);
150
+ if (!checkResult.valid) throw new SELLintError(checkResult.diagnostics.filter((d) => d.severity === "error"));
145
151
  const parseResult = this.env.parse(expression);
146
152
  const collectedCalls = collectCalls(parseResult.ast, { get: (name) => this.findContract(name) });
147
153
  debug("evaluate: collected %d calls", collectedCalls.length);
148
154
  const normalizedContext = Object.keys(evaluationContext).length ? normalizeContextForEvaluation(evaluationContext, this.variableTypes, this.codecRegistry) : void 0;
149
155
  const executionVariables = Object.keys(evaluationContext).length ? evaluationContext : {};
150
- const typeCheckResult = parseResult.check();
151
- if (!typeCheckResult.valid) throw new SELTypeError(typeCheckResult.error?.message ?? "Type check failed", { cause: typeCheckResult.error });
152
- const lintResult = this.checker.check(expression);
153
- const lintErrors = lintResult.diagnostics.filter((d) => d.severity === "error");
154
- if (lintErrors.length > 0) throw new SELLintError(lintErrors);
156
+ const diagnostics = checkResult.diagnostics.filter((d) => d.severity !== "error");
155
157
  return {
156
158
  parseResult,
157
159
  collectedCalls,
158
160
  normalizedContext,
159
161
  executionVariables,
160
- typeCheckResult,
161
- diagnostics: lintResult.diagnostics.filter((d) => d.severity !== "error")
162
+ resolvedType: checkResult.type,
163
+ diagnostics
162
164
  };
163
165
  }
164
166
  async executeContractCalls(collectedCalls, executionVariables, resolvedClient) {
@@ -209,7 +211,7 @@ var SELRuntime = class {
209
211
  const resolvedClient = options?.client ?? this.client;
210
212
  if (resolvedClient && resolvedClient !== this.client) validateClient(resolvedClient);
211
213
  try {
212
- const { parseResult, collectedCalls, normalizedContext, executionVariables, typeCheckResult, diagnostics } = this.planExecution(expression, context ?? {});
214
+ const { parseResult, collectedCalls, normalizedContext, executionVariables, resolvedType, diagnostics } = this.planExecution(expression, context ?? {});
213
215
  let executionMeta;
214
216
  let executionCache;
215
217
  if (collectedCalls.length > 0) {
@@ -233,18 +235,35 @@ var SELRuntime = class {
233
235
  this.currentClient = void 0;
234
236
  this.currentCallCounter = void 0;
235
237
  }
236
- const value = typeCheckResult.type ? this.codecRegistry.encode(typeCheckResult.type, result) : result;
238
+ const value = resolvedType ? this.codecRegistry.encode(resolvedType, result) : result;
237
239
  debug("evaluate: result type=%s", typeof value);
238
240
  const evalResult = executionMeta ? {
239
241
  value,
240
242
  meta: executionMeta
241
243
  } : { value };
244
+ if (resolvedType) evalResult.type = resolvedType;
242
245
  if (diagnostics.length > 0) evalResult.diagnostics = diagnostics;
243
246
  return evalResult;
244
247
  } catch (error) {
245
248
  throw wrapError(error);
246
249
  }
247
250
  }
251
+ /**
252
+ * Remaps receiver method calls to their underlying contract calls.
253
+ * e.g., sol_address.balance() → __multicall3.getEthBalance(addr)
254
+ */
255
+ resolveCall(contractName, methodName, args) {
256
+ if (contractName === "sol_address" && methodName === "balance") return {
257
+ contractName: "__multicall3",
258
+ methodName: "getEthBalance",
259
+ args
260
+ };
261
+ return {
262
+ contractName,
263
+ methodName,
264
+ args
265
+ };
266
+ }
248
267
  findContract(name) {
249
268
  return this.schema.contracts.find((c) => c.name === name);
250
269
  }
@@ -1,8 +1,7 @@
1
1
  require("../_virtual/_rolldown/runtime.cjs");
2
- const require_errors = require("../errors/errors.cjs");
3
2
  require("../errors/index.cjs");
4
- let _marcbachmann_cel_js = require("@marcbachmann/cel-js");
5
3
  let _seljs_common = require("@seljs/common");
4
+ let _marcbachmann_cel_js = require("@marcbachmann/cel-js");
6
5
  //#region src/environment/error-wrapper.ts
7
6
  /**
8
7
  * Wraps an unknown error into a known SEL error type.
@@ -14,14 +13,14 @@ let _seljs_common = require("@seljs/common");
14
13
  * @returns The wrapped error.
15
14
  */
16
15
  const wrapError = (error) => {
17
- if (error instanceof require_errors.SELContractError) return error;
18
- if (error instanceof _marcbachmann_cel_js.ParseError) return new _seljs_common.SELParseError(error.message, { cause: error });
16
+ if (error instanceof _seljs_common.SELError) return error;
19
17
  if (error instanceof _marcbachmann_cel_js.EvaluationError) {
20
18
  const cause = error.cause;
21
- if (cause instanceof require_errors.SELContractError) return cause;
22
- return new require_errors.SELEvaluationError(error.message, { cause: error });
19
+ if (cause instanceof _seljs_common.SELError) return cause;
20
+ return new _seljs_common.SELEvaluationError(error.message, { cause: error });
23
21
  }
24
- if (error instanceof _marcbachmann_cel_js.TypeError) return new _seljs_common.SELTypeError(error.message, { cause: error });
22
+ if (error instanceof _marcbachmann_cel_js.ParseError) return new _seljs_common.SELEvaluationError(error.message, { cause: error });
23
+ if (error instanceof _marcbachmann_cel_js.TypeError) return new _seljs_common.SELEvaluationError(error.message, { cause: error });
25
24
  if (error instanceof Error) return error;
26
25
  return new Error(String(error));
27
26
  };
@@ -1,5 +1,6 @@
1
- import { SELContractError, SELEvaluationError, SELParseError, SELTypeError } from "../errors/errors.mjs";
1
+ import { SELEvaluationError } from "../errors/errors.mjs";
2
2
  import "../errors/index.mjs";
3
+ import { SELError } from "@seljs/common";
3
4
  import { EvaluationError, ParseError, TypeError } from "@marcbachmann/cel-js";
4
5
  //#region src/environment/error-wrapper.ts
5
6
  /**
@@ -12,14 +13,14 @@ import { EvaluationError, ParseError, TypeError } from "@marcbachmann/cel-js";
12
13
  * @returns The wrapped error.
13
14
  */
14
15
  const wrapError = (error) => {
15
- if (error instanceof SELContractError) return error;
16
- if (error instanceof ParseError) return new SELParseError(error.message, { cause: error });
16
+ if (error instanceof SELError) return error;
17
17
  if (error instanceof EvaluationError) {
18
18
  const cause = error.cause;
19
- if (cause instanceof SELContractError) return cause;
19
+ if (cause instanceof SELError) return cause;
20
20
  return new SELEvaluationError(error.message, { cause: error });
21
21
  }
22
- if (error instanceof TypeError) return new SELTypeError(error.message, { cause: error });
22
+ if (error instanceof ParseError) return new SELEvaluationError(error.message, { cause: error });
23
+ if (error instanceof TypeError) return new SELEvaluationError(error.message, { cause: error });
23
24
  if (error instanceof Error) return error;
24
25
  return new Error(String(error));
25
26
  };
@@ -2,11 +2,6 @@ require("../_virtual/_rolldown/runtime.cjs");
2
2
  let _seljs_common = require("@seljs/common");
3
3
  //#region src/errors/errors.ts
4
4
  /**
5
- * Thrown when CEL expression evaluation fails.
6
- * Wraps cel-js EvaluationError with additional context.
7
- */
8
- var SELEvaluationError = class extends _seljs_common.SELError {};
9
- /**
10
5
  * Thrown when contract validation or execution fails.
11
6
  * Includes optional contract name and method name for context.
12
7
  */
@@ -84,5 +79,4 @@ exports.ExecutionLimitError = ExecutionLimitError;
84
79
  exports.MulticallBatchError = MulticallBatchError;
85
80
  exports.SELClientError = SELClientError;
86
81
  exports.SELContractError = SELContractError;
87
- exports.SELEvaluationError = SELEvaluationError;
88
82
  exports.SELLintError = SELLintError;
@@ -1,12 +1,7 @@
1
1
  import { SELDiagnostic } from "@seljs/checker";
2
- import { SELError, SELParseError, SELTypeError } from "@seljs/common";
2
+ import { SELError, SELEvaluationError } from "@seljs/common";
3
3
 
4
4
  //#region src/errors/errors.d.ts
5
- /**
6
- * Thrown when CEL expression evaluation fails.
7
- * Wraps cel-js EvaluationError with additional context.
8
- */
9
- declare class SELEvaluationError extends SELError {}
10
5
  /**
11
6
  * Thrown when contract validation or execution fails.
12
7
  * Includes optional contract name and method name for context.
@@ -78,4 +73,4 @@ declare class SELLintError extends SELError {
78
73
  });
79
74
  }
80
75
  //#endregion
81
- export { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError, SELParseError, SELTypeError };
76
+ export { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError };
@@ -1,17 +1,12 @@
1
1
  import { SELDiagnostic } from "@seljs/checker";
2
- import { SELError, SELParseError, SELTypeError } from "@seljs/common";
2
+ import { SELError as SELError$1, SELEvaluationError } from "@seljs/common";
3
3
 
4
4
  //#region src/errors/errors.d.ts
5
- /**
6
- * Thrown when CEL expression evaluation fails.
7
- * Wraps cel-js EvaluationError with additional context.
8
- */
9
- declare class SELEvaluationError extends SELError {}
10
5
  /**
11
6
  * Thrown when contract validation or execution fails.
12
7
  * Includes optional contract name and method name for context.
13
8
  */
14
- declare class SELContractError extends SELError {
9
+ declare class SELContractError extends SELError$1 {
15
10
  readonly contractName?: string;
16
11
  readonly methodName?: string;
17
12
  constructor(message: string, options?: {
@@ -24,7 +19,7 @@ declare class SELContractError extends SELError {
24
19
  * Thrown when a circular dependency is detected in the call dependency graph.
25
20
  * Indicates that call A depends on call B which depends on call A (directly or transitively).
26
21
  */
27
- declare class CircularDependencyError extends SELError {
22
+ declare class CircularDependencyError extends SELError$1 {
28
23
  readonly callIds: string[];
29
24
  constructor(message: string, options?: {
30
25
  cause?: unknown;
@@ -35,7 +30,7 @@ declare class CircularDependencyError extends SELError {
35
30
  * Thrown when execution limits are exceeded (maxRounds or maxCalls).
36
31
  * Prevents infinite loops and runaway execution.
37
32
  */
38
- declare class ExecutionLimitError extends SELError {
33
+ declare class ExecutionLimitError extends SELError$1 {
39
34
  readonly limitType: "maxRounds" | "maxCalls";
40
35
  readonly limit: number;
41
36
  readonly actual: number;
@@ -50,7 +45,7 @@ declare class ExecutionLimitError extends SELError {
50
45
  * Thrown when a Multicall3 batch execution fails.
51
46
  * Includes the failed call index and optional contract name/method name for context.
52
47
  */
53
- declare class MulticallBatchError extends SELError {
48
+ declare class MulticallBatchError extends SELError$1 {
54
49
  readonly failedCallIndex?: number;
55
50
  readonly contractName?: string;
56
51
  readonly methodName?: string;
@@ -64,18 +59,18 @@ declare class MulticallBatchError extends SELError {
64
59
  /**
65
60
  * Thrown when the provided client fails validation or is misconfigured.
66
61
  */
67
- declare class SELClientError extends SELError {
62
+ declare class SELClientError extends SELError$1 {
68
63
  readonly name = "SELClientError";
69
64
  }
70
65
  /**
71
66
  * Thrown when lint rules with error severity detect violations.
72
67
  * Contains the diagnostics that caused the failure.
73
68
  */
74
- declare class SELLintError extends SELError {
69
+ declare class SELLintError extends SELError$1 {
75
70
  readonly diagnostics: SELDiagnostic[];
76
71
  constructor(diagnostics: SELDiagnostic[], options?: {
77
72
  cause?: unknown;
78
73
  });
79
74
  }
80
75
  //#endregion
81
- export { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError, SELParseError, SELTypeError };
76
+ export { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError$1 as SELError, SELEvaluationError, SELLintError };
@@ -1,15 +1,10 @@
1
- import { SELError, SELParseError, SELTypeError } from "@seljs/common";
1
+ import { SELError as SELError$1, SELEvaluationError } from "@seljs/common";
2
2
  //#region src/errors/errors.ts
3
3
  /**
4
- * Thrown when CEL expression evaluation fails.
5
- * Wraps cel-js EvaluationError with additional context.
6
- */
7
- var SELEvaluationError = class extends SELError {};
8
- /**
9
4
  * Thrown when contract validation or execution fails.
10
5
  * Includes optional contract name and method name for context.
11
6
  */
12
- var SELContractError = class extends SELError {
7
+ var SELContractError = class extends SELError$1 {
13
8
  contractName;
14
9
  methodName;
15
10
  constructor(message, options) {
@@ -22,7 +17,7 @@ var SELContractError = class extends SELError {
22
17
  * Thrown when a circular dependency is detected in the call dependency graph.
23
18
  * Indicates that call A depends on call B which depends on call A (directly or transitively).
24
19
  */
25
- var CircularDependencyError = class extends SELError {
20
+ var CircularDependencyError = class extends SELError$1 {
26
21
  callIds;
27
22
  constructor(message, options) {
28
23
  super(message, { cause: options?.cause });
@@ -33,7 +28,7 @@ var CircularDependencyError = class extends SELError {
33
28
  * Thrown when execution limits are exceeded (maxRounds or maxCalls).
34
29
  * Prevents infinite loops and runaway execution.
35
30
  */
36
- var ExecutionLimitError = class extends SELError {
31
+ var ExecutionLimitError = class extends SELError$1 {
37
32
  limitType;
38
33
  limit;
39
34
  actual;
@@ -48,7 +43,7 @@ var ExecutionLimitError = class extends SELError {
48
43
  * Thrown when a Multicall3 batch execution fails.
49
44
  * Includes the failed call index and optional contract name/method name for context.
50
45
  */
51
- var MulticallBatchError = class extends SELError {
46
+ var MulticallBatchError = class extends SELError$1 {
52
47
  failedCallIndex;
53
48
  contractName;
54
49
  methodName;
@@ -62,14 +57,14 @@ var MulticallBatchError = class extends SELError {
62
57
  /**
63
58
  * Thrown when the provided client fails validation or is misconfigured.
64
59
  */
65
- var SELClientError = class extends SELError {
60
+ var SELClientError = class extends SELError$1 {
66
61
  name = "SELClientError";
67
62
  };
68
63
  /**
69
64
  * Thrown when lint rules with error severity detect violations.
70
65
  * Contains the diagnostics that caused the failure.
71
66
  */
72
- var SELLintError = class extends SELError {
67
+ var SELLintError = class extends SELError$1 {
73
68
  diagnostics;
74
69
  constructor(diagnostics, options) {
75
70
  const messages = diagnostics.map((d) => d.message).join("; ");
@@ -78,4 +73,4 @@ var SELLintError = class extends SELError {
78
73
  }
79
74
  };
80
75
  //#endregion
81
- export { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError, SELParseError, SELTypeError };
76
+ export { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError$1 as SELError, SELEvaluationError, SELLintError };
@@ -1 +1 @@
1
- import { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError, SELParseError, SELTypeError } from "./errors.mjs";
1
+ import { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError } from "./errors.mjs";
@@ -1,8 +1,8 @@
1
1
  require("../_virtual/_rolldown/runtime.cjs");
2
+ const require_multicall = require("./multicall.cjs");
2
3
  const require_errors = require("../errors/errors.cjs");
3
4
  require("../errors/index.cjs");
4
5
  const require_debug = require("../debug.cjs");
5
- const require_multicall = require("./multicall.cjs");
6
6
  let ox = require("ox");
7
7
  //#region src/execution/multicall-batcher.ts
8
8
  const debug = require_debug.createLogger("execute:multicall");
@@ -1,7 +1,7 @@
1
+ import { multicall3Function } from "./multicall.mjs";
1
2
  import { MulticallBatchError } from "../errors/errors.mjs";
2
3
  import "../errors/index.mjs";
3
4
  import { createLogger } from "../debug.mjs";
4
- import { multicall3Function } from "./multicall.mjs";
5
5
  import { AbiFunction } from "ox";
6
6
  //#region src/execution/multicall-batcher.ts
7
7
  const debug = createLogger("execute:multicall");
@@ -40,6 +40,24 @@ const MULTICALL3_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11";
40
40
  * Pre-parsed Multicall3 aggregate3 ABI function for ox encoding/decoding.
41
41
  */
42
42
  const multicall3Function = ox.AbiFunction.from(aggregate3Abi);
43
+ /**
44
+ * Multicall3 getEthBalance ABI — returns native ETH balance for an address.
45
+ * Used by the sol_address.balance() accessor.
46
+ */
47
+ const getEthBalanceAbi = {
48
+ name: "getEthBalance",
49
+ type: "function",
50
+ stateMutability: "view",
51
+ inputs: [{
52
+ name: "addr",
53
+ type: "address"
54
+ }],
55
+ outputs: [{
56
+ name: "balance",
57
+ type: "uint256"
58
+ }]
59
+ };
43
60
  //#endregion
44
61
  exports.MULTICALL3_ADDRESS = MULTICALL3_ADDRESS;
62
+ exports.getEthBalanceAbi = getEthBalanceAbi;
45
63
  exports.multicall3Function = multicall3Function;
@@ -39,5 +39,22 @@ const MULTICALL3_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11";
39
39
  * Pre-parsed Multicall3 aggregate3 ABI function for ox encoding/decoding.
40
40
  */
41
41
  const multicall3Function = AbiFunction.from(aggregate3Abi);
42
+ /**
43
+ * Multicall3 getEthBalance ABI — returns native ETH balance for an address.
44
+ * Used by the sol_address.balance() accessor.
45
+ */
46
+ const getEthBalanceAbi = {
47
+ name: "getEthBalance",
48
+ type: "function",
49
+ stateMutability: "view",
50
+ inputs: [{
51
+ name: "addr",
52
+ type: "address"
53
+ }],
54
+ outputs: [{
55
+ name: "balance",
56
+ type: "uint256"
57
+ }]
58
+ };
42
59
  //#endregion
43
- export { MULTICALL3_ADDRESS, multicall3Function };
60
+ export { MULTICALL3_ADDRESS, getEthBalanceAbi, multicall3Function };
@@ -7,11 +7,17 @@ import { SELDiagnostic } from "@seljs/checker";
7
7
  * Contains statistics and block information from the execution run.
8
8
  */
9
9
  interface ExecutionMeta {
10
- /** Number of rounds executed (topological depth) */
10
+ /**
11
+ * Number of rounds executed (topological depth)
12
+ */
11
13
  roundsExecuted: number;
12
- /** Total number of contract calls executed */
14
+ /**
15
+ * Total number of contract calls executed
16
+ */
13
17
  totalCalls: number;
14
- /** Block number at which calls were executed */
18
+ /**
19
+ * Block number at which calls were executed
20
+ */
15
21
  blockNumber: bigint;
16
22
  }
17
23
  /**
@@ -19,9 +25,13 @@ interface ExecutionMeta {
19
25
  * Maps call IDs to their decoded results.
20
26
  */
21
27
  interface ExecutionResult {
22
- /** Map of callId to decoded result value */
28
+ /**
29
+ * Map of callId to decoded result value
30
+ */
23
31
  results: Map<string, unknown>;
24
- /** Execution metadata */
32
+ /**
33
+ * Execution metadata
34
+ */
25
35
  meta: ExecutionMeta;
26
36
  }
27
37
  /**
@@ -29,16 +39,22 @@ interface ExecutionResult {
29
39
  * Contains the block number and variable bindings.
30
40
  */
31
41
  interface ExecutionContext {
32
- /** Block number for consistent reads across all calls */
42
+ /**
43
+ * Block number for consistent reads across all calls
44
+ */
33
45
  blockNumber: bigint;
34
- /** Variable name to value mapping from evaluate() context */
46
+ /**
47
+ * Variable name to value mapping from evaluate() context
48
+ */
35
49
  variables: Record<string, unknown>;
36
50
  }
37
51
  /**
38
52
  * Options for the evaluate() call.
39
53
  */
40
54
  interface EvaluateOptions {
41
- /** Override client for this evaluation */
55
+ /**
56
+ * Override client for this evaluation
57
+ */
42
58
  client?: SELClient;
43
59
  }
44
60
  /**
@@ -48,11 +64,21 @@ interface EvaluateOptions {
48
64
  * contract calls were executed, absent for pure CEL expressions.
49
65
  */
50
66
  interface EvaluateResult<T = unknown> {
51
- /** The evaluated result value */
67
+ /**
68
+ * The evaluated result value
69
+ */
52
70
  value: T;
53
- /** Execution metadata, present when contract calls were executed */
71
+ /**
72
+ * The inferred type of the expression, when available
73
+ */
74
+ type?: string;
75
+ /**
76
+ * Execution metadata, present when contract calls were executed
77
+ */
54
78
  meta?: ExecutionMeta;
55
- /** Advisory diagnostics (warnings/info) from lint rules, when non-empty */
79
+ /**
80
+ * Advisory diagnostics (warnings/info) from lint rules, when non-empty
81
+ */
56
82
  diagnostics?: SELDiagnostic[];
57
83
  }
58
84
  //#endregion
@@ -7,11 +7,17 @@ import { SELDiagnostic } from "@seljs/checker";
7
7
  * Contains statistics and block information from the execution run.
8
8
  */
9
9
  interface ExecutionMeta {
10
- /** Number of rounds executed (topological depth) */
10
+ /**
11
+ * Number of rounds executed (topological depth)
12
+ */
11
13
  roundsExecuted: number;
12
- /** Total number of contract calls executed */
14
+ /**
15
+ * Total number of contract calls executed
16
+ */
13
17
  totalCalls: number;
14
- /** Block number at which calls were executed */
18
+ /**
19
+ * Block number at which calls were executed
20
+ */
15
21
  blockNumber: bigint;
16
22
  }
17
23
  /**
@@ -19,9 +25,13 @@ interface ExecutionMeta {
19
25
  * Maps call IDs to their decoded results.
20
26
  */
21
27
  interface ExecutionResult {
22
- /** Map of callId to decoded result value */
28
+ /**
29
+ * Map of callId to decoded result value
30
+ */
23
31
  results: Map<string, unknown>;
24
- /** Execution metadata */
32
+ /**
33
+ * Execution metadata
34
+ */
25
35
  meta: ExecutionMeta;
26
36
  }
27
37
  /**
@@ -29,16 +39,22 @@ interface ExecutionResult {
29
39
  * Contains the block number and variable bindings.
30
40
  */
31
41
  interface ExecutionContext {
32
- /** Block number for consistent reads across all calls */
42
+ /**
43
+ * Block number for consistent reads across all calls
44
+ */
33
45
  blockNumber: bigint;
34
- /** Variable name to value mapping from evaluate() context */
46
+ /**
47
+ * Variable name to value mapping from evaluate() context
48
+ */
35
49
  variables: Record<string, unknown>;
36
50
  }
37
51
  /**
38
52
  * Options for the evaluate() call.
39
53
  */
40
54
  interface EvaluateOptions {
41
- /** Override client for this evaluation */
55
+ /**
56
+ * Override client for this evaluation
57
+ */
42
58
  client?: SELClient;
43
59
  }
44
60
  /**
@@ -48,11 +64,21 @@ interface EvaluateOptions {
48
64
  * contract calls were executed, absent for pure CEL expressions.
49
65
  */
50
66
  interface EvaluateResult<T = unknown> {
51
- /** The evaluated result value */
67
+ /**
68
+ * The evaluated result value
69
+ */
52
70
  value: T;
53
- /** Execution metadata, present when contract calls were executed */
71
+ /**
72
+ * The inferred type of the expression, when available
73
+ */
74
+ type?: string;
75
+ /**
76
+ * Execution metadata, present when contract calls were executed
77
+ */
54
78
  meta?: ExecutionMeta;
55
- /** Advisory diagnostics (warnings/info) from lint rules, when non-empty */
79
+ /**
80
+ * Advisory diagnostics (warnings/info) from lint rules, when non-empty
81
+ */
56
82
  diagnostics?: SELDiagnostic[];
57
83
  }
58
84
  //#endregion
package/dist/index.cjs CHANGED
@@ -13,10 +13,8 @@ exports.MulticallBatchError = require_errors.MulticallBatchError;
13
13
  exports.SELClientError = require_errors.SELClientError;
14
14
  exports.SELContractError = require_errors.SELContractError;
15
15
  exports.SELError = _seljs_common.SELError;
16
- exports.SELEvaluationError = require_errors.SELEvaluationError;
16
+ exports.SELEvaluationError = _seljs_common.SELEvaluationError;
17
17
  exports.SELLintError = require_errors.SELLintError;
18
- exports.SELParseError = _seljs_common.SELParseError;
19
18
  exports.SELRuntime = require_environment.SELRuntime;
20
- exports.SELTypeError = _seljs_common.SELTypeError;
21
19
  exports.createSEL = require_factory.createSEL;
22
20
  exports.validateClient = require_client.validateClient;
package/dist/index.d.cts CHANGED
@@ -2,7 +2,7 @@ import { SELClient, validateClient } from "./environment/client.cjs";
2
2
  import { MulticallOptions, SELLimits, SELRuntimeConfig } from "./environment/types.cjs";
3
3
  import { EvaluateOptions, EvaluateResult, ExecutionContext, ExecutionMeta, ExecutionResult } from "./execution/types.cjs";
4
4
  import { SELRuntime } from "./environment/environment.cjs";
5
- import { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError, SELParseError, SELTypeError } from "./errors/errors.cjs";
5
+ import { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError } from "./errors/errors.cjs";
6
6
  import { createSEL } from "./factory.cjs";
7
7
  import { CallArgument, CollectedCall, DependencyGraph, ExecutionPlan, ExecutionRound, GraphNode } from "./analysis/types.cjs";
8
- export { CallArgument, CircularDependencyError, CollectedCall, DependencyGraph, EvaluateOptions, EvaluateResult, ExecutionContext, ExecutionLimitError, ExecutionMeta, ExecutionPlan, ExecutionResult, ExecutionRound, GraphNode, MulticallBatchError, MulticallOptions, SELClient, SELClientError, SELContractError, SELError, SELEvaluationError, SELLimits, SELLintError, SELParseError, SELRuntime, SELRuntimeConfig, SELTypeError, createSEL, validateClient };
8
+ export { CallArgument, CircularDependencyError, CollectedCall, DependencyGraph, EvaluateOptions, EvaluateResult, ExecutionContext, ExecutionLimitError, ExecutionMeta, ExecutionPlan, ExecutionResult, ExecutionRound, GraphNode, MulticallBatchError, MulticallOptions, SELClient, SELClientError, SELContractError, SELError, SELEvaluationError, SELLimits, SELLintError, SELRuntime, SELRuntimeConfig, createSEL, validateClient };
package/dist/index.d.mts CHANGED
@@ -2,7 +2,7 @@ import { SELClient, validateClient } from "./environment/client.mjs";
2
2
  import { MulticallOptions, SELLimits, SELRuntimeConfig } from "./environment/types.mjs";
3
3
  import { EvaluateOptions, EvaluateResult, ExecutionContext, ExecutionMeta, ExecutionResult } from "./execution/types.mjs";
4
4
  import { SELRuntime } from "./environment/environment.mjs";
5
- import { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError, SELParseError, SELTypeError } from "./errors/errors.mjs";
5
+ import { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError } from "./errors/errors.mjs";
6
6
  import { createSEL } from "./factory.mjs";
7
7
  import { CallArgument, CollectedCall, DependencyGraph, ExecutionPlan, ExecutionRound, GraphNode } from "./analysis/types.mjs";
8
- export { CallArgument, CircularDependencyError, CollectedCall, DependencyGraph, EvaluateOptions, EvaluateResult, ExecutionContext, ExecutionLimitError, ExecutionMeta, ExecutionPlan, ExecutionResult, ExecutionRound, GraphNode, MulticallBatchError, MulticallOptions, SELClient, SELClientError, SELContractError, SELError, SELEvaluationError, SELLimits, SELLintError, SELParseError, SELRuntime, SELRuntimeConfig, SELTypeError, createSEL, validateClient };
8
+ export { CallArgument, CircularDependencyError, CollectedCall, DependencyGraph, EvaluateOptions, EvaluateResult, ExecutionContext, ExecutionLimitError, ExecutionMeta, ExecutionPlan, ExecutionResult, ExecutionRound, GraphNode, MulticallBatchError, MulticallOptions, SELClient, SELClientError, SELContractError, SELError, SELEvaluationError, SELLimits, SELLintError, SELRuntime, SELRuntimeConfig, createSEL, validateClient };
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError, SELParseError, SELTypeError } from "./errors/errors.mjs";
1
+ import { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError } from "./errors/errors.mjs";
2
2
  import "./errors/index.mjs";
3
3
  import { validateClient } from "./environment/client.mjs";
4
4
  import { SELRuntime } from "./environment/environment.mjs";
5
5
  import "./environment/index.mjs";
6
6
  import { createSEL } from "./factory.mjs";
7
- export { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError, SELParseError, SELRuntime, SELTypeError, createSEL, validateClient };
7
+ export { CircularDependencyError, ExecutionLimitError, MulticallBatchError, SELClientError, SELContractError, SELError, SELEvaluationError, SELLintError, SELRuntime, createSEL, validateClient };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seljs/runtime",
3
- "version": "1.3.0-beta.2",
3
+ "version": "1.3.0-beta.24",
4
4
  "repository": {
5
5
  "url": "https://github.com/abinnovision/seljs"
6
6
  },
@@ -50,16 +50,16 @@
50
50
  },
51
51
  "dependencies": {
52
52
  "@marcbachmann/cel-js": "^7.5.3",
53
- "@seljs/checker": "1.3.0-beta.2",
54
- "@seljs/common": "1.3.0-beta.2",
55
- "@seljs/env": "1.3.0-beta.2",
53
+ "@seljs/checker": "1.3.0-beta.24",
54
+ "@seljs/common": "1.3.0-beta.24",
55
+ "@seljs/env": "1.3.0-beta.24",
56
56
  "@seljs/schema": "1.2.0",
57
- "@seljs/types": "1.3.0-beta.2",
57
+ "@seljs/types": "1.3.0-beta.24",
58
58
  "debug": "^4.4.3",
59
- "ox": "^0.14.7"
59
+ "ox": "^0.14.10"
60
60
  },
61
61
  "devDependencies": {
62
- "@abinnovision/eslint-config-base": "^3.2.0",
62
+ "@abinnovision/eslint-config-base": "^3.2.2",
63
63
  "@abinnovision/prettier-config": "^2.1.5",
64
64
  "@seljs-internal/fixtures": "0.0.0",
65
65
  "@seljs-internal/tsconfig": "^0.0.0",