hardhat 2.22.10 → 2.22.12
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/console.sol +1 -1
- package/internal/cli/project-creation.d.ts +1 -1
- package/internal/cli/project-creation.js +1 -1
- package/internal/core/providers/lazy-initialization.d.ts.map +1 -1
- package/internal/core/providers/lazy-initialization.js +10 -10
- package/internal/core/providers/lazy-initialization.js.map +1 -1
- package/internal/hardhat-network/jsonrpc/handler.d.ts.map +1 -1
- package/internal/hardhat-network/jsonrpc/handler.js +2 -1
- package/internal/hardhat-network/jsonrpc/handler.js.map +1 -1
- package/internal/hardhat-network/provider/provider.d.ts +2 -3
- package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
- package/internal/hardhat-network/provider/provider.js +5 -19
- package/internal/hardhat-network/provider/provider.js.map +1 -1
- package/internal/hardhat-network/provider/return-data.d.ts +2 -15
- package/internal/hardhat-network/provider/return-data.d.ts.map +1 -1
- package/internal/hardhat-network/provider/return-data.js +2 -50
- package/internal/hardhat-network/provider/return-data.js.map +1 -1
- package/internal/hardhat-network/provider/vm/exit.d.ts +2 -20
- package/internal/hardhat-network/provider/vm/exit.d.ts.map +1 -1
- package/internal/hardhat-network/provider/vm/exit.js +3 -78
- package/internal/hardhat-network/provider/vm/exit.js.map +1 -1
- package/internal/hardhat-network/stack-traces/compiler-to-model.d.ts +2 -3
- package/internal/hardhat-network/stack-traces/compiler-to-model.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/compiler-to-model.js +2 -351
- package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +1 -1
- package/internal/hardhat-network/stack-traces/consoleLogger.d.ts +2 -1
- package/internal/hardhat-network/stack-traces/consoleLogger.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/consoleLogger.js +2 -1
- package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
- package/internal/hardhat-network/stack-traces/constants.d.ts +1 -1
- package/internal/hardhat-network/stack-traces/constants.js +1 -1
- package/internal/hardhat-network/stack-traces/debug.d.ts +2 -7
- package/internal/hardhat-network/stack-traces/debug.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/debug.js +3 -143
- package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
- package/internal/hardhat-network/stack-traces/library-utils.d.ts +2 -11
- package/internal/hardhat-network/stack-traces/library-utils.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/library-utils.js +3 -61
- package/internal/hardhat-network/stack-traces/library-utils.js.map +1 -1
- package/internal/hardhat-network/stack-traces/logger.js +596 -596
- package/internal/hardhat-network/stack-traces/logger.js.map +1 -1
- package/internal/hardhat-network/stack-traces/message-trace.d.ts +2 -51
- package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/message-trace.js +0 -46
- package/internal/hardhat-network/stack-traces/message-trace.js.map +1 -1
- package/internal/hardhat-network/stack-traces/solidity-errors.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/solidity-errors.js +58 -53
- package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
- package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +4 -155
- package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/solidity-stack-trace.js +12 -37
- package/internal/hardhat-network/stack-traces/solidity-stack-trace.js.map +1 -1
- package/internal/hardhat-network/stack-traces/solidityTracer.d.ts +2 -13
- package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/solidityTracer.js +2 -162
- package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.d.ts +4 -15
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.js +6 -70
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.js.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-tracer.d.ts +2 -19
- package/internal/hardhat-network/stack-traces/vm-tracer.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-tracer.js +3 -150
- package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
- package/internal/solidity/compiler/solc-info.d.ts.map +1 -1
- package/internal/solidity/compiler/solc-info.js +3 -0
- package/internal/solidity/compiler/solc-info.js.map +1 -1
- package/package.json +6 -5
- package/sample-projects/javascript/contracts/Lock.sol +1 -1
- package/sample-projects/javascript/hardhat.config.js +1 -1
- package/sample-projects/javascript/ignition/modules/Lock.js +3 -0
- package/sample-projects/javascript-esm/contracts/Lock.sol +1 -1
- package/sample-projects/javascript-esm/hardhat.config.cjs +1 -1
- package/sample-projects/javascript-esm/ignition/modules/Lock.js +3 -0
- package/sample-projects/typescript/contracts/Lock.sol +1 -1
- package/sample-projects/typescript/hardhat.config.ts +1 -1
- package/sample-projects/typescript/ignition/modules/Lock.ts +3 -0
- package/sample-projects/typescript-viem/contracts/Lock.sol +1 -1
- package/sample-projects/typescript-viem/hardhat.config.ts +1 -1
- package/sample-projects/typescript-viem/ignition/modules/Lock.ts +3 -0
- package/src/internal/cli/project-creation.ts +1 -1
- package/src/internal/core/providers/lazy-initialization.ts +13 -13
- package/src/internal/hardhat-network/jsonrpc/handler.ts +2 -1
- package/src/internal/hardhat-network/provider/provider.ts +11 -24
- package/src/internal/hardhat-network/provider/return-data.ts +5 -73
- package/src/internal/hardhat-network/provider/vm/exit.ts +4 -92
- package/src/internal/hardhat-network/stack-traces/compiler-to-model.ts +5 -697
- package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +2 -1
- package/src/internal/hardhat-network/stack-traces/constants.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/debug.ts +5 -218
- package/src/internal/hardhat-network/stack-traces/library-utils.ts +5 -90
- package/src/internal/hardhat-network/stack-traces/logger.ts +596 -596
- package/src/internal/hardhat-network/stack-traces/message-trace.ts +5 -122
- package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +16 -15
- package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +83 -186
- package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +5 -253
- package/src/internal/hardhat-network/stack-traces/vm-trace-decoder.ts +15 -108
- package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +5 -206
- package/src/internal/solidity/compiler/solc-info.ts +3 -0
- package/internal/hardhat-network/stack-traces/contracts-identifier.d.ts +0 -15
- package/internal/hardhat-network/stack-traces/contracts-identifier.d.ts.map +0 -1
- package/internal/hardhat-network/stack-traces/contracts-identifier.js +0 -166
- package/internal/hardhat-network/stack-traces/contracts-identifier.js.map +0 -1
- package/internal/hardhat-network/stack-traces/error-inferrer.d.ts +0 -85
- package/internal/hardhat-network/stack-traces/error-inferrer.d.ts.map +0 -1
- package/internal/hardhat-network/stack-traces/error-inferrer.js +0 -1168
- package/internal/hardhat-network/stack-traces/error-inferrer.js.map +0 -1
- package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.d.ts +0 -24
- package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.d.ts.map +0 -1
- package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.js +0 -116
- package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.js.map +0 -1
- package/internal/hardhat-network/stack-traces/model.d.ts +0 -140
- package/internal/hardhat-network/stack-traces/model.d.ts.map +0 -1
- package/internal/hardhat-network/stack-traces/model.js +0 -328
- package/internal/hardhat-network/stack-traces/model.js.map +0 -1
- package/internal/hardhat-network/stack-traces/opcodes.d.ts +0 -266
- package/internal/hardhat-network/stack-traces/opcodes.d.ts.map +0 -1
- package/internal/hardhat-network/stack-traces/opcodes.js +0 -320
- package/internal/hardhat-network/stack-traces/opcodes.js.map +0 -1
- package/internal/hardhat-network/stack-traces/source-maps.d.ts +0 -13
- package/internal/hardhat-network/stack-traces/source-maps.d.ts.map +0 -1
- package/internal/hardhat-network/stack-traces/source-maps.js +0 -106
- package/internal/hardhat-network/stack-traces/source-maps.js.map +0 -1
- package/src/internal/hardhat-network/stack-traces/contracts-identifier.ts +0 -235
- package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +0 -1845
- package/src/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.ts +0 -163
- package/src/internal/hardhat-network/stack-traces/model.ts +0 -409
- package/src/internal/hardhat-network/stack-traces/opcodes.ts +0 -344
- package/src/internal/hardhat-network/stack-traces/source-maps.ts +0 -167
|
@@ -1,129 +1,12 @@
|
|
|
1
|
-
import type { Bytecode } from "./model";
|
|
2
|
-
import type { Exit } from "../provider/vm/exit";
|
|
3
1
|
import type {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
RevertResult,
|
|
8
|
-
SuccessResult,
|
|
2
|
+
PrecompileMessageTrace,
|
|
3
|
+
CreateMessageTrace,
|
|
4
|
+
CallMessageTrace,
|
|
9
5
|
} from "@nomicfoundation/edr";
|
|
10
6
|
|
|
7
|
+
export type { PrecompileMessageTrace, CreateMessageTrace, CallMessageTrace };
|
|
8
|
+
|
|
11
9
|
export type MessageTrace =
|
|
12
10
|
| CreateMessageTrace
|
|
13
11
|
| CallMessageTrace
|
|
14
12
|
| PrecompileMessageTrace;
|
|
15
|
-
|
|
16
|
-
export type EvmMessageTrace = CreateMessageTrace | CallMessageTrace;
|
|
17
|
-
|
|
18
|
-
export type DecodedEvmMessageTrace =
|
|
19
|
-
| DecodedCreateMessageTrace
|
|
20
|
-
| DecodedCallMessageTrace;
|
|
21
|
-
|
|
22
|
-
export interface BaseMessageTrace {
|
|
23
|
-
value: bigint;
|
|
24
|
-
returnData: Uint8Array;
|
|
25
|
-
exit: Exit;
|
|
26
|
-
gasUsed: bigint;
|
|
27
|
-
depth: number;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export interface PrecompileMessageTrace extends BaseMessageTrace {
|
|
31
|
-
precompile: number;
|
|
32
|
-
calldata: Uint8Array;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export interface BaseEvmMessageTrace extends BaseMessageTrace {
|
|
36
|
-
code: Uint8Array;
|
|
37
|
-
steps: MessageTraceStep[];
|
|
38
|
-
bytecode?: Bytecode;
|
|
39
|
-
// The following is just an optimization: When processing this traces it's useful to know ahead of
|
|
40
|
-
// time how many subtraces there are.
|
|
41
|
-
numberOfSubtraces: number;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export interface CreateMessageTrace extends BaseEvmMessageTrace {
|
|
45
|
-
deployedContract: Uint8Array | undefined;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export interface CallMessageTrace extends BaseEvmMessageTrace {
|
|
49
|
-
calldata: Uint8Array;
|
|
50
|
-
address: Uint8Array;
|
|
51
|
-
codeAddress: Uint8Array;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export interface DecodedCreateMessageTrace extends CreateMessageTrace {
|
|
55
|
-
bytecode: Bytecode;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export interface DecodedCallMessageTrace extends CallMessageTrace {
|
|
59
|
-
bytecode: Bytecode;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export function isPrecompileTrace(
|
|
63
|
-
trace: MessageTrace
|
|
64
|
-
): trace is PrecompileMessageTrace {
|
|
65
|
-
return "precompile" in trace;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export function isCreateTrace(
|
|
69
|
-
trace: MessageTrace
|
|
70
|
-
): trace is CreateMessageTrace {
|
|
71
|
-
return "code" in trace && !isCallTrace(trace);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
export function isDecodedCreateTrace(
|
|
75
|
-
trace: MessageTrace
|
|
76
|
-
): trace is DecodedCreateMessageTrace {
|
|
77
|
-
return isCreateTrace(trace) && trace.bytecode !== undefined;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
export function isCallTrace(trace: MessageTrace): trace is CallMessageTrace {
|
|
81
|
-
return "code" in trace && "calldata" in trace;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export function isDecodedCallTrace(
|
|
85
|
-
trace: MessageTrace
|
|
86
|
-
): trace is DecodedCallMessageTrace {
|
|
87
|
-
return isCallTrace(trace) && trace.bytecode !== undefined;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export function isEvmStep(step: MessageTraceStep): step is EvmStep {
|
|
91
|
-
return "pc" in step && step.pc !== undefined;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
export type MessageTraceStep = MessageTrace | EvmStep;
|
|
95
|
-
|
|
96
|
-
export interface EvmStep {
|
|
97
|
-
pc: number;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
export function isCallOutput(
|
|
101
|
-
output: CallOutput | CreateOutput
|
|
102
|
-
): output is CallOutput {
|
|
103
|
-
return !isCreateOutput(output);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
export function isCreateOutput(
|
|
107
|
-
output: CallOutput | CreateOutput
|
|
108
|
-
): output is CreateOutput {
|
|
109
|
-
return "address" in output;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
export function isSuccessResult(
|
|
113
|
-
result: SuccessResult | RevertResult | HaltResult
|
|
114
|
-
): result is SuccessResult {
|
|
115
|
-
// Only need to check for one unique field
|
|
116
|
-
return "gasRefunded" in result;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export function isRevertResult(
|
|
120
|
-
result: SuccessResult | RevertResult | HaltResult
|
|
121
|
-
): result is RevertResult {
|
|
122
|
-
return !("reason" in result);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
export function isHaltResult(
|
|
126
|
-
result: SuccessResult | RevertResult | HaltResult
|
|
127
|
-
): result is HaltResult {
|
|
128
|
-
return !("output" in result);
|
|
129
|
-
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { bytesToHex as bufferToHex } from "@nomicfoundation/ethereumjs-util";
|
|
2
2
|
|
|
3
|
+
import { ReturnData } from "../provider/return-data";
|
|
3
4
|
import { panicErrorCodeToMessage } from "./panic-errors";
|
|
4
5
|
import {
|
|
5
6
|
CONSTRUCTOR_FUNCTION_NAME,
|
|
@@ -258,24 +259,21 @@ function getMessageFromLastStackTraceEntry(
|
|
|
258
259
|
return `Transaction reverted: library was called directly`;
|
|
259
260
|
|
|
260
261
|
case StackTraceEntryType.UNRECOGNIZED_CREATE_ERROR:
|
|
261
|
-
case StackTraceEntryType.UNRECOGNIZED_CONTRACT_ERROR:
|
|
262
|
-
|
|
263
|
-
|
|
262
|
+
case StackTraceEntryType.UNRECOGNIZED_CONTRACT_ERROR: {
|
|
263
|
+
const returnData = new ReturnData(stackTraceEntry.returnData);
|
|
264
|
+
if (returnData.isErrorReturnData()) {
|
|
265
|
+
return `VM Exception while processing transaction: reverted with reason string '${returnData.decodeError()}'`;
|
|
264
266
|
}
|
|
265
267
|
|
|
266
|
-
if (
|
|
267
|
-
const message = panicErrorCodeToMessage(
|
|
268
|
-
stackTraceEntry.message.decodePanic()
|
|
269
|
-
);
|
|
268
|
+
if (returnData.isPanicReturnData()) {
|
|
269
|
+
const message = panicErrorCodeToMessage(returnData.decodePanic());
|
|
270
270
|
return `VM Exception while processing transaction: ${message}`;
|
|
271
271
|
}
|
|
272
272
|
|
|
273
|
-
if (!
|
|
274
|
-
const
|
|
275
|
-
"hex"
|
|
276
|
-
);
|
|
273
|
+
if (!returnData.isEmpty()) {
|
|
274
|
+
const buffer = Buffer.from(returnData.value).toString("hex");
|
|
277
275
|
|
|
278
|
-
return `VM Exception while processing transaction: reverted with an unrecognized custom error (return data: 0x${
|
|
276
|
+
return `VM Exception while processing transaction: reverted with an unrecognized custom error (return data: 0x${buffer})`;
|
|
279
277
|
}
|
|
280
278
|
|
|
281
279
|
if (stackTraceEntry.isInvalidOpcodeError) {
|
|
@@ -283,10 +281,12 @@ function getMessageFromLastStackTraceEntry(
|
|
|
283
281
|
}
|
|
284
282
|
|
|
285
283
|
return "Transaction reverted without a reason string";
|
|
284
|
+
}
|
|
286
285
|
|
|
287
|
-
case StackTraceEntryType.REVERT_ERROR:
|
|
288
|
-
|
|
289
|
-
|
|
286
|
+
case StackTraceEntryType.REVERT_ERROR: {
|
|
287
|
+
const returnData = new ReturnData(stackTraceEntry.returnData);
|
|
288
|
+
if (returnData.isErrorReturnData()) {
|
|
289
|
+
return `VM Exception while processing transaction: reverted with reason string '${returnData.decodeError()}'`;
|
|
290
290
|
}
|
|
291
291
|
|
|
292
292
|
if (stackTraceEntry.isInvalidOpcodeError) {
|
|
@@ -294,6 +294,7 @@ function getMessageFromLastStackTraceEntry(
|
|
|
294
294
|
}
|
|
295
295
|
|
|
296
296
|
return "Transaction reverted without a reason string";
|
|
297
|
+
}
|
|
297
298
|
|
|
298
299
|
case StackTraceEntryType.PANIC_ERROR:
|
|
299
300
|
const panicMessage = panicErrorCodeToMessage(stackTraceEntry.errorCode);
|
|
@@ -1,189 +1,86 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
sourceReference?: SourceReference;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export interface CustomErrorStackTraceEntry {
|
|
88
|
-
type: StackTraceEntryType.CUSTOM_ERROR;
|
|
89
|
-
// unlike RevertErrorStackTraceEntry, this includes the message already parsed
|
|
90
|
-
message: string;
|
|
91
|
-
sourceReference: SourceReference;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
export interface UnmappedSolc063RevertErrorStackTraceEntry {
|
|
95
|
-
type: StackTraceEntryType.UNMAPPED_SOLC_0_6_3_REVERT_ERROR;
|
|
96
|
-
sourceReference?: SourceReference;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
export interface FunctionNotPayableErrorStackTraceEntry {
|
|
100
|
-
type: StackTraceEntryType.FUNCTION_NOT_PAYABLE_ERROR;
|
|
101
|
-
value: bigint;
|
|
102
|
-
sourceReference: SourceReference;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
export interface InvalidParamsErrorStackTraceEntry {
|
|
106
|
-
type: StackTraceEntryType.INVALID_PARAMS_ERROR;
|
|
107
|
-
sourceReference: SourceReference;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export interface FallbackNotPayableErrorStackTraceEntry {
|
|
111
|
-
type: StackTraceEntryType.FALLBACK_NOT_PAYABLE_ERROR;
|
|
112
|
-
value: bigint;
|
|
113
|
-
sourceReference: SourceReference;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
export interface FallbackNotPayableAndNoReceiveErrorStackTraceEntry {
|
|
117
|
-
type: StackTraceEntryType.FALLBACK_NOT_PAYABLE_AND_NO_RECEIVE_ERROR;
|
|
118
|
-
value: bigint;
|
|
119
|
-
sourceReference: SourceReference;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
export interface UnrecognizedFunctionWithoutFallbackErrorStackTraceEntry {
|
|
123
|
-
type: StackTraceEntryType.UNRECOGNIZED_FUNCTION_WITHOUT_FALLBACK_ERROR;
|
|
124
|
-
sourceReference: SourceReference;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
export interface MissingFallbackOrReceiveErrorStackTraceEntry {
|
|
128
|
-
type: StackTraceEntryType.MISSING_FALLBACK_OR_RECEIVE_ERROR;
|
|
129
|
-
sourceReference: SourceReference;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
export interface ReturndataSizeErrorStackTraceEntry {
|
|
133
|
-
type: StackTraceEntryType.RETURNDATA_SIZE_ERROR;
|
|
134
|
-
sourceReference: SourceReference;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
export interface NonContractAccountCalledErrorStackTraceEntry {
|
|
138
|
-
type: StackTraceEntryType.NONCONTRACT_ACCOUNT_CALLED_ERROR;
|
|
139
|
-
sourceReference: SourceReference;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
export interface CallFailedErrorStackTraceEntry {
|
|
143
|
-
type: StackTraceEntryType.CALL_FAILED_ERROR;
|
|
144
|
-
sourceReference: SourceReference;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
export interface DirectLibraryCallErrorStackTraceEntry {
|
|
148
|
-
type: StackTraceEntryType.DIRECT_LIBRARY_CALL_ERROR;
|
|
149
|
-
sourceReference: SourceReference;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
export interface UnrecognizedCreateErrorStackTraceEntry {
|
|
153
|
-
type: StackTraceEntryType.UNRECOGNIZED_CREATE_ERROR;
|
|
154
|
-
message: ReturnData;
|
|
155
|
-
sourceReference?: undefined;
|
|
156
|
-
isInvalidOpcodeError: boolean;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
export interface UnrecognizedContractErrorStackTraceEntry {
|
|
160
|
-
type: StackTraceEntryType.UNRECOGNIZED_CONTRACT_ERROR;
|
|
161
|
-
address: Uint8Array;
|
|
162
|
-
message: ReturnData;
|
|
163
|
-
sourceReference?: undefined;
|
|
164
|
-
isInvalidOpcodeError: boolean;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
export interface OtherExecutionErrorStackTraceEntry {
|
|
168
|
-
type: StackTraceEntryType.OTHER_EXECUTION_ERROR;
|
|
169
|
-
sourceReference?: SourceReference;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
export interface ContractTooLargeErrorStackTraceEntry {
|
|
173
|
-
type: StackTraceEntryType.CONTRACT_TOO_LARGE_ERROR;
|
|
174
|
-
sourceReference?: SourceReference;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
export interface InternalFunctionCallStackEntry {
|
|
178
|
-
type: StackTraceEntryType.INTERNAL_FUNCTION_CALLSTACK_ENTRY;
|
|
179
|
-
pc: number;
|
|
180
|
-
sourceReference: SourceReference;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
export interface ContractCallRunOutOfGasError {
|
|
184
|
-
type: StackTraceEntryType.CONTRACT_CALL_RUN_OUT_OF_GAS_ERROR;
|
|
185
|
-
sourceReference?: SourceReference;
|
|
186
|
-
}
|
|
1
|
+
import type {
|
|
2
|
+
SourceReference,
|
|
3
|
+
CallstackEntryStackTraceEntry,
|
|
4
|
+
UnrecognizedCreateCallstackEntryStackTraceEntry,
|
|
5
|
+
UnrecognizedContractCallstackEntryStackTraceEntry,
|
|
6
|
+
PrecompileErrorStackTraceEntry,
|
|
7
|
+
RevertErrorStackTraceEntry,
|
|
8
|
+
PanicErrorStackTraceEntry,
|
|
9
|
+
CustomErrorStackTraceEntry,
|
|
10
|
+
FunctionNotPayableErrorStackTraceEntry,
|
|
11
|
+
InvalidParamsErrorStackTraceEntry,
|
|
12
|
+
FallbackNotPayableErrorStackTraceEntry,
|
|
13
|
+
FallbackNotPayableAndNoReceiveErrorStackTraceEntry,
|
|
14
|
+
UnrecognizedFunctionWithoutFallbackErrorStackTraceEntry,
|
|
15
|
+
MissingFallbackOrReceiveErrorStackTraceEntry,
|
|
16
|
+
ReturndataSizeErrorStackTraceEntry,
|
|
17
|
+
NonContractAccountCalledErrorStackTraceEntry,
|
|
18
|
+
CallFailedErrorStackTraceEntry,
|
|
19
|
+
DirectLibraryCallErrorStackTraceEntry,
|
|
20
|
+
UnrecognizedCreateErrorStackTraceEntry,
|
|
21
|
+
UnrecognizedContractErrorStackTraceEntry,
|
|
22
|
+
OtherExecutionErrorStackTraceEntry,
|
|
23
|
+
UnmappedSolc063RevertErrorStackTraceEntry,
|
|
24
|
+
ContractTooLargeErrorStackTraceEntry,
|
|
25
|
+
InternalFunctionCallStackEntry,
|
|
26
|
+
ContractCallRunOutOfGasError,
|
|
27
|
+
} from "@nomicfoundation/edr";
|
|
28
|
+
|
|
29
|
+
import { requireNapiRsModule } from "../../../common/napi-rs";
|
|
30
|
+
|
|
31
|
+
const {
|
|
32
|
+
StackTraceEntryType,
|
|
33
|
+
stackTraceEntryTypeToString,
|
|
34
|
+
FALLBACK_FUNCTION_NAME,
|
|
35
|
+
RECEIVE_FUNCTION_NAME,
|
|
36
|
+
CONSTRUCTOR_FUNCTION_NAME,
|
|
37
|
+
UNRECOGNIZED_FUNCTION_NAME,
|
|
38
|
+
UNKNOWN_FUNCTION_NAME,
|
|
39
|
+
PRECOMPILE_FUNCTION_NAME,
|
|
40
|
+
UNRECOGNIZED_CONTRACT_NAME,
|
|
41
|
+
} = requireNapiRsModule(
|
|
42
|
+
"@nomicfoundation/edr"
|
|
43
|
+
) as typeof import("@nomicfoundation/edr");
|
|
44
|
+
|
|
45
|
+
export {
|
|
46
|
+
SourceReference,
|
|
47
|
+
StackTraceEntryType,
|
|
48
|
+
stackTraceEntryTypeToString,
|
|
49
|
+
FALLBACK_FUNCTION_NAME,
|
|
50
|
+
RECEIVE_FUNCTION_NAME,
|
|
51
|
+
CONSTRUCTOR_FUNCTION_NAME,
|
|
52
|
+
UNRECOGNIZED_FUNCTION_NAME,
|
|
53
|
+
UNKNOWN_FUNCTION_NAME,
|
|
54
|
+
PRECOMPILE_FUNCTION_NAME,
|
|
55
|
+
UNRECOGNIZED_CONTRACT_NAME,
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export type {
|
|
59
|
+
CallstackEntryStackTraceEntry,
|
|
60
|
+
UnrecognizedCreateCallstackEntryStackTraceEntry,
|
|
61
|
+
UnrecognizedContractCallstackEntryStackTraceEntry,
|
|
62
|
+
PrecompileErrorStackTraceEntry,
|
|
63
|
+
RevertErrorStackTraceEntry,
|
|
64
|
+
PanicErrorStackTraceEntry,
|
|
65
|
+
CustomErrorStackTraceEntry,
|
|
66
|
+
FunctionNotPayableErrorStackTraceEntry,
|
|
67
|
+
InvalidParamsErrorStackTraceEntry,
|
|
68
|
+
FallbackNotPayableErrorStackTraceEntry,
|
|
69
|
+
FallbackNotPayableAndNoReceiveErrorStackTraceEntry,
|
|
70
|
+
UnrecognizedFunctionWithoutFallbackErrorStackTraceEntry,
|
|
71
|
+
MissingFallbackOrReceiveErrorStackTraceEntry,
|
|
72
|
+
ReturndataSizeErrorStackTraceEntry,
|
|
73
|
+
NonContractAccountCalledErrorStackTraceEntry,
|
|
74
|
+
CallFailedErrorStackTraceEntry,
|
|
75
|
+
DirectLibraryCallErrorStackTraceEntry,
|
|
76
|
+
UnrecognizedCreateErrorStackTraceEntry,
|
|
77
|
+
UnrecognizedContractErrorStackTraceEntry,
|
|
78
|
+
OtherExecutionErrorStackTraceEntry,
|
|
79
|
+
UnmappedSolc063RevertErrorStackTraceEntry,
|
|
80
|
+
ContractTooLargeErrorStackTraceEntry,
|
|
81
|
+
InternalFunctionCallStackEntry,
|
|
82
|
+
ContractCallRunOutOfGasError,
|
|
83
|
+
};
|
|
187
84
|
|
|
188
85
|
export type SolidityStackTraceEntry =
|
|
189
86
|
| CallstackEntryStackTraceEntry
|