@aztec/txe 3.0.0-nightly.20250929 → 3.0.0-nightly.20251001
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/dest/oracle/txe_oracle_top_level_context.d.ts +1 -1
- package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_top_level_context.js +15 -5
- package/dest/rpc_translator.d.ts +1 -1
- package/dest/rpc_translator.d.ts.map +1 -1
- package/dest/rpc_translator.js +5 -3
- package/package.json +15 -15
- package/src/oracle/txe_oracle_top_level_context.ts +16 -5
- package/src/rpc_translator.ts +5 -2
|
@@ -29,7 +29,7 @@ export declare class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecut
|
|
|
29
29
|
constructor(stateMachine: TXEStateMachine, contractDataProvider: TXEContractDataProvider, keyStore: KeyStore, addressDataProvider: AddressDataProvider, accountDataProvider: TXEAccountDataProvider, pxeOracleInterface: PXEOracleInterface, nextBlockTimestamp: bigint, version: Fr, chainId: Fr, authwits: Map<string, AuthWitness>);
|
|
30
30
|
utilityAssertCompatibleOracleVersion(version: number): void;
|
|
31
31
|
utilityGetRandomField(): Fr;
|
|
32
|
-
utilityDebugLog(message: string, fields: Fr[]): void;
|
|
32
|
+
utilityDebugLog(level: number, message: string, fields: Fr[]): void;
|
|
33
33
|
txeGetNextBlockNumber(): Promise<number>;
|
|
34
34
|
txeGetNextBlockTimestamp(): Promise<bigint>;
|
|
35
35
|
txeGetLastBlockTimestamp(): Promise<bigint>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txe_oracle_top_level_context.d.ts","sourceRoot":"","sources":["../../src/oracle/txe_oracle_top_level_context.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,mBAAmB,EAEnB,kBAAkB,EAEnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGL,KAAK,WAAW,EAMjB,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAgB,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,KAAK,2BAA2B,EAAyB,MAAM,wBAAwB,CAAC;AAYjG,OAAO,EASL,MAAM,EAEP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAOrF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,qBAAa,wBAAyB,YAAW,WAAW,EAAE,mBAAmB;IAO7E,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAflB,MAAM,EAAG,IAAI,CAAU;IACvB,KAAK,EAAG,IAAI,CAAU;IAEtB,OAAO,CAAC,MAAM,CAAS;gBAGb,YAAY,EAAE,eAAe,EAC7B,oBAAoB,EAAE,uBAAuB,EAC7C,QAAQ,EAAE,QAAQ,EAClB,mBAAmB,EAAE,mBAAmB,EACxC,mBAAmB,EAAE,sBAAsB,EAC3C,kBAAkB,EAAE,kBAAkB,EACtC,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,EAAE,EACX,OAAO,EAAE,EAAE,EACX,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAM5C,oCAAoC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU3D,qBAAqB,IAAI,EAAE;IAK3B,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"txe_oracle_top_level_context.d.ts","sourceRoot":"","sources":["../../src/oracle/txe_oracle_top_level_context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS, DEFAULT_DA_GAS_LIMIT, DEFAULT_L2_GAS_LIMIT, DEFAULT_TEARDOWN_DA_GAS_LIMIT, DEFAULT_TEARDOWN_L2_GAS_LIMIT, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/constants';
|
|
2
2
|
import { Schnorr } from '@aztec/foundation/crypto';
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
-
import { applyStringFormatting, createLogger } from '@aztec/foundation/log';
|
|
4
|
+
import { LogLevels, applyStringFormatting, createLogger } from '@aztec/foundation/log';
|
|
5
5
|
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
6
6
|
import { ORACLE_VERSION, enrichPublicSimulationError } from '@aztec/pxe/server';
|
|
7
7
|
import { ExecutionNoteCache, HashedValuesCache, Oracle, PrivateExecutionOracle, UtilityExecutionOracle, executePrivateFunction, generateSimulatedProvingResult } from '@aztec/pxe/simulator';
|
|
@@ -63,8 +63,12 @@ export class TXEOracleTopLevelContext {
|
|
|
63
63
|
return Fr.random();
|
|
64
64
|
}
|
|
65
65
|
// We instruct users to debug contracts via this oracle, so it makes sense that they'd expect it to also work in tests
|
|
66
|
-
utilityDebugLog(message, fields) {
|
|
67
|
-
|
|
66
|
+
utilityDebugLog(level, message, fields) {
|
|
67
|
+
if (!LogLevels[level]) {
|
|
68
|
+
throw new Error(`Invalid debug log level: ${level}`);
|
|
69
|
+
}
|
|
70
|
+
const levelName = LogLevels[level];
|
|
71
|
+
this.logger[levelName](`${applyStringFormatting(message, fields)}`, {
|
|
68
72
|
module: `${this.logger.module}:debug_log`
|
|
69
73
|
});
|
|
70
74
|
}
|
|
@@ -224,7 +228,10 @@ export class TXEOracleTopLevelContext {
|
|
|
224
228
|
const forkedWorldTrees = await this.stateMachine.synchronizer.nativeWorldStateService.fork();
|
|
225
229
|
const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractDataProvider));
|
|
226
230
|
const guardedMerkleTrees = new GuardedMerkleTreeOperations(forkedWorldTrees);
|
|
227
|
-
const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals,
|
|
231
|
+
const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals, {
|
|
232
|
+
doMerkleOperations: true,
|
|
233
|
+
skipFeeEnforcement: true
|
|
234
|
+
}), new TestDateProvider());
|
|
228
235
|
const tx = await Tx.create({
|
|
229
236
|
data: publicInputs,
|
|
230
237
|
clientIvcProof: ClientIvcProof.empty(),
|
|
@@ -294,7 +301,10 @@ export class TXEOracleTopLevelContext {
|
|
|
294
301
|
const forkedWorldTrees = await this.stateMachine.synchronizer.nativeWorldStateService.fork();
|
|
295
302
|
const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractDataProvider));
|
|
296
303
|
const guardedMerkleTrees = new GuardedMerkleTreeOperations(forkedWorldTrees);
|
|
297
|
-
const simulator = new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals,
|
|
304
|
+
const simulator = new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals, {
|
|
305
|
+
doMerkleOperations: true,
|
|
306
|
+
skipFeeEnforcement: true
|
|
307
|
+
});
|
|
298
308
|
const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, simulator, new TestDateProvider());
|
|
299
309
|
// We're simulating a scenario in which private execution immediately enqueues a public call and halts. The private
|
|
300
310
|
// kernel init would in this case inject a nullifier with the transaction request hash as a non-revertible
|
package/dest/rpc_translator.d.ts
CHANGED
|
@@ -79,7 +79,7 @@ export declare class RPCTranslator {
|
|
|
79
79
|
privateLoadFromExecutionCache(foreignHash: ForeignCallSingle): Promise<{
|
|
80
80
|
values: (string | ForeignCallArray)[];
|
|
81
81
|
}>;
|
|
82
|
-
utilityDebugLog(foreignMessage: ForeignCallArray, _foreignLength: ForeignCallSingle, foreignFields: ForeignCallArray): {
|
|
82
|
+
utilityDebugLog(foreignLevel: ForeignCallSingle, foreignMessage: ForeignCallArray, _foreignLength: ForeignCallSingle, foreignFields: ForeignCallArray): {
|
|
83
83
|
values: (string | ForeignCallArray)[];
|
|
84
84
|
};
|
|
85
85
|
utilityStorageRead(foreignContractAddress: ForeignCallSingle, foreignStartStorageSlot: ForeignCallSingle, foreignBlockNumber: ForeignCallSingle, foreignNumberOfElements: ForeignCallSingle): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc_translator.d.ts","sourceRoot":"","sources":["../src/rpc_translator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,2BAA2B,EAAa,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAE7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,gBAAgB,EAAkC,MAAM,mBAAmB,CAAC;AAI1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAYvB,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,UAAU,EAAE,MAAM;CAG/B;AAED,qBAAa,aAAa;IAWtB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IAXvB;;;;;;;;OAQG;gBAEO,YAAY,EAAE,sBAAsB,EACpC,aAAa,EACjB,WAAW,GACX,uBAAuB,GACvB,uBAAuB,GACvB,mBAAmB,GACnB,mBAAmB;IAGzB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,YAAY;IAUd,wBAAwB;;;IAMxB,uBAAuB,CAC3B,4BAA4B,EAAE,iBAAiB,EAC/C,2BAA2B,EAAE,iBAAiB,EAC9C,8BAA8B,EAAE,iBAAiB,EACjD,6BAA6B,EAAE,iBAAiB;;;IAe5C,sBAAsB,CAC1B,4BAA4B,EAAE,iBAAiB,EAC/C,2BAA2B,EAAE,iBAAiB;;;IAW1C,uBAAuB,CAC3B,4BAA4B,EAAE,iBAAiB,EAC/C,2BAA2B,EAAE,iBAAiB;;;IAe1C,qBAAqB;;;IAMrB,wBAAwB;;;IAMxB,kBAAkB,CAAC,aAAa,EAAE,iBAAiB;;;IAQzD,qBAAqB,CAAC,eAAe,EAAE,iBAAiB;;;IAQlD,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,2BAA2B,EAAE,aAAa,EAAE,iBAAiB;;;IAgB7G,gBAAgB,CAAC,aAAa,EAAE,iBAAiB;;;IAWjD,aAAa,CACjB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,2BAA2B,EACrC,aAAa,EAAE,iBAAiB;;;IAY5B,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB;;;IAWhG,oCAAoC,CAAC,cAAc,EAAE,iBAAiB;;;IAQtE,qBAAqB;;;IAMf,wBAAwB;;;IAMxB,mBAAmB;;;IAWzB,4BAA4B,CAC1B,cAAc,EAAE,iBAAiB,EACjC,aAAa,EAAE,gBAAgB,EAC/B,WAAW,EAAE,iBAAiB;;;IAU1B,6BAA6B,CAAC,WAAW,EAAE,iBAAiB;;;
|
|
1
|
+
{"version":3,"file":"rpc_translator.d.ts","sourceRoot":"","sources":["../src/rpc_translator.ts"],"names":[],"mappings":"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"}
|
package/dest/rpc_translator.js
CHANGED
|
@@ -175,11 +175,13 @@ export class RPCTranslator {
|
|
|
175
175
|
toArray(returns)
|
|
176
176
|
]);
|
|
177
177
|
}
|
|
178
|
-
//
|
|
179
|
-
|
|
178
|
+
// When the argument is a slice, noir automatically adds a length field to oracle call.
|
|
179
|
+
// When the argument is an array, we add the field length manually to the signature.
|
|
180
|
+
utilityDebugLog(foreignLevel, foreignMessage, _foreignLength, foreignFields) {
|
|
181
|
+
const level = fromSingle(foreignLevel).toNumber();
|
|
180
182
|
const message = fromArray(foreignMessage).map((field)=>String.fromCharCode(field.toNumber())).join('');
|
|
181
183
|
const fields = fromArray(foreignFields);
|
|
182
|
-
this.handlerAsMisc().utilityDebugLog(message, fields);
|
|
184
|
+
this.handlerAsMisc().utilityDebugLog(level, message, fields);
|
|
183
185
|
return toForeignCallResult([]);
|
|
184
186
|
}
|
|
185
187
|
async utilityStorageRead(foreignContractAddress, foreignStartStorageSlot, foreignBlockNumber, foreignNumberOfElements) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/txe",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20251001",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"bin": "./dest/bin/index.js",
|
|
@@ -61,20 +61,20 @@
|
|
|
61
61
|
]
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@aztec/accounts": "3.0.0-nightly.
|
|
65
|
-
"@aztec/archiver": "3.0.0-nightly.
|
|
66
|
-
"@aztec/aztec-node": "3.0.0-nightly.
|
|
67
|
-
"@aztec/aztec.js": "3.0.0-nightly.
|
|
68
|
-
"@aztec/bb-prover": "3.0.0-nightly.
|
|
69
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
70
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
71
|
-
"@aztec/key-store": "3.0.0-nightly.
|
|
72
|
-
"@aztec/kv-store": "3.0.0-nightly.
|
|
73
|
-
"@aztec/protocol-contracts": "3.0.0-nightly.
|
|
74
|
-
"@aztec/pxe": "3.0.0-nightly.
|
|
75
|
-
"@aztec/simulator": "3.0.0-nightly.
|
|
76
|
-
"@aztec/stdlib": "3.0.0-nightly.
|
|
77
|
-
"@aztec/world-state": "3.0.0-nightly.
|
|
64
|
+
"@aztec/accounts": "3.0.0-nightly.20251001",
|
|
65
|
+
"@aztec/archiver": "3.0.0-nightly.20251001",
|
|
66
|
+
"@aztec/aztec-node": "3.0.0-nightly.20251001",
|
|
67
|
+
"@aztec/aztec.js": "3.0.0-nightly.20251001",
|
|
68
|
+
"@aztec/bb-prover": "3.0.0-nightly.20251001",
|
|
69
|
+
"@aztec/constants": "3.0.0-nightly.20251001",
|
|
70
|
+
"@aztec/foundation": "3.0.0-nightly.20251001",
|
|
71
|
+
"@aztec/key-store": "3.0.0-nightly.20251001",
|
|
72
|
+
"@aztec/kv-store": "3.0.0-nightly.20251001",
|
|
73
|
+
"@aztec/protocol-contracts": "3.0.0-nightly.20251001",
|
|
74
|
+
"@aztec/pxe": "3.0.0-nightly.20251001",
|
|
75
|
+
"@aztec/simulator": "3.0.0-nightly.20251001",
|
|
76
|
+
"@aztec/stdlib": "3.0.0-nightly.20251001",
|
|
77
|
+
"@aztec/world-state": "3.0.0-nightly.20251001",
|
|
78
78
|
"zod": "^3.23.8"
|
|
79
79
|
},
|
|
80
80
|
"devDependencies": {
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
} from '@aztec/constants';
|
|
9
9
|
import { Schnorr } from '@aztec/foundation/crypto';
|
|
10
10
|
import { Fr } from '@aztec/foundation/fields';
|
|
11
|
-
import { type Logger, applyStringFormatting, createLogger } from '@aztec/foundation/log';
|
|
11
|
+
import { LogLevels, type Logger, applyStringFormatting, createLogger } from '@aztec/foundation/log';
|
|
12
12
|
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
13
13
|
import type { KeyStore } from '@aztec/key-store';
|
|
14
14
|
import {
|
|
@@ -121,8 +121,13 @@ export class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecutionOracl
|
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
// We instruct users to debug contracts via this oracle, so it makes sense that they'd expect it to also work in tests
|
|
124
|
-
utilityDebugLog(message: string, fields: Fr[]): void {
|
|
125
|
-
|
|
124
|
+
utilityDebugLog(level: number, message: string, fields: Fr[]): void {
|
|
125
|
+
if (!LogLevels[level]) {
|
|
126
|
+
throw new Error(`Invalid debug log level: ${level}`);
|
|
127
|
+
}
|
|
128
|
+
const levelName = LogLevels[level];
|
|
129
|
+
|
|
130
|
+
this.logger[levelName](`${applyStringFormatting(message, fields)}`, { module: `${this.logger.module}:debug_log` });
|
|
126
131
|
}
|
|
127
132
|
|
|
128
133
|
async txeGetNextBlockNumber(): Promise<number> {
|
|
@@ -369,7 +374,10 @@ export class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecutionOracl
|
|
|
369
374
|
globals,
|
|
370
375
|
guardedMerkleTrees,
|
|
371
376
|
contractsDB,
|
|
372
|
-
new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals,
|
|
377
|
+
new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals, {
|
|
378
|
+
doMerkleOperations: true,
|
|
379
|
+
skipFeeEnforcement: true,
|
|
380
|
+
}),
|
|
373
381
|
new TestDateProvider(),
|
|
374
382
|
);
|
|
375
383
|
|
|
@@ -475,7 +483,10 @@ export class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecutionOracl
|
|
|
475
483
|
|
|
476
484
|
const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractDataProvider));
|
|
477
485
|
const guardedMerkleTrees = new GuardedMerkleTreeOperations(forkedWorldTrees);
|
|
478
|
-
const simulator = new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals,
|
|
486
|
+
const simulator = new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals, {
|
|
487
|
+
doMerkleOperations: true,
|
|
488
|
+
skipFeeEnforcement: true,
|
|
489
|
+
});
|
|
479
490
|
const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, simulator, new TestDateProvider());
|
|
480
491
|
|
|
481
492
|
// We're simulating a scenario in which private execution immediately enqueues a public call and halts. The private
|
package/src/rpc_translator.ts
CHANGED
|
@@ -284,18 +284,21 @@ export class RPCTranslator {
|
|
|
284
284
|
return toForeignCallResult([toArray(returns)]);
|
|
285
285
|
}
|
|
286
286
|
|
|
287
|
-
//
|
|
287
|
+
// When the argument is a slice, noir automatically adds a length field to oracle call.
|
|
288
|
+
// When the argument is an array, we add the field length manually to the signature.
|
|
288
289
|
utilityDebugLog(
|
|
290
|
+
foreignLevel: ForeignCallSingle,
|
|
289
291
|
foreignMessage: ForeignCallArray,
|
|
290
292
|
_foreignLength: ForeignCallSingle,
|
|
291
293
|
foreignFields: ForeignCallArray,
|
|
292
294
|
) {
|
|
295
|
+
const level = fromSingle(foreignLevel).toNumber();
|
|
293
296
|
const message = fromArray(foreignMessage)
|
|
294
297
|
.map(field => String.fromCharCode(field.toNumber()))
|
|
295
298
|
.join('');
|
|
296
299
|
const fields = fromArray(foreignFields);
|
|
297
300
|
|
|
298
|
-
this.handlerAsMisc().utilityDebugLog(message, fields);
|
|
301
|
+
this.handlerAsMisc().utilityDebugLog(level, message, fields);
|
|
299
302
|
|
|
300
303
|
return toForeignCallResult([]);
|
|
301
304
|
}
|