hardhat 2.22.11 → 2.22.13

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.
Files changed (94) hide show
  1. package/internal/hardhat-network/provider/provider.d.ts +2 -3
  2. package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
  3. package/internal/hardhat-network/provider/provider.js +5 -19
  4. package/internal/hardhat-network/provider/provider.js.map +1 -1
  5. package/internal/hardhat-network/provider/return-data.d.ts +2 -15
  6. package/internal/hardhat-network/provider/return-data.d.ts.map +1 -1
  7. package/internal/hardhat-network/provider/return-data.js +2 -50
  8. package/internal/hardhat-network/provider/return-data.js.map +1 -1
  9. package/internal/hardhat-network/provider/vm/exit.d.ts +2 -20
  10. package/internal/hardhat-network/provider/vm/exit.d.ts.map +1 -1
  11. package/internal/hardhat-network/provider/vm/exit.js +3 -78
  12. package/internal/hardhat-network/provider/vm/exit.js.map +1 -1
  13. package/internal/hardhat-network/stack-traces/compiler-to-model.d.ts +2 -3
  14. package/internal/hardhat-network/stack-traces/compiler-to-model.d.ts.map +1 -1
  15. package/internal/hardhat-network/stack-traces/compiler-to-model.js +2 -351
  16. package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +1 -1
  17. package/internal/hardhat-network/stack-traces/debug.d.ts +2 -7
  18. package/internal/hardhat-network/stack-traces/debug.d.ts.map +1 -1
  19. package/internal/hardhat-network/stack-traces/debug.js +3 -143
  20. package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
  21. package/internal/hardhat-network/stack-traces/library-utils.d.ts +2 -11
  22. package/internal/hardhat-network/stack-traces/library-utils.d.ts.map +1 -1
  23. package/internal/hardhat-network/stack-traces/library-utils.js +3 -61
  24. package/internal/hardhat-network/stack-traces/library-utils.js.map +1 -1
  25. package/internal/hardhat-network/stack-traces/logger.d.ts.map +1 -1
  26. package/internal/hardhat-network/stack-traces/logger.js +0 -221
  27. package/internal/hardhat-network/stack-traces/logger.js.map +1 -1
  28. package/internal/hardhat-network/stack-traces/message-trace.d.ts +2 -51
  29. package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +1 -1
  30. package/internal/hardhat-network/stack-traces/message-trace.js +0 -46
  31. package/internal/hardhat-network/stack-traces/message-trace.js.map +1 -1
  32. package/internal/hardhat-network/stack-traces/solidity-errors.d.ts.map +1 -1
  33. package/internal/hardhat-network/stack-traces/solidity-errors.js +58 -53
  34. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  35. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +4 -155
  36. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts.map +1 -1
  37. package/internal/hardhat-network/stack-traces/solidity-stack-trace.js +12 -37
  38. package/internal/hardhat-network/stack-traces/solidity-stack-trace.js.map +1 -1
  39. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts +2 -13
  40. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
  41. package/internal/hardhat-network/stack-traces/solidityTracer.js +2 -162
  42. package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
  43. package/internal/hardhat-network/stack-traces/vm-trace-decoder.d.ts +4 -15
  44. package/internal/hardhat-network/stack-traces/vm-trace-decoder.d.ts.map +1 -1
  45. package/internal/hardhat-network/stack-traces/vm-trace-decoder.js +6 -70
  46. package/internal/hardhat-network/stack-traces/vm-trace-decoder.js.map +1 -1
  47. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts +2 -19
  48. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts.map +1 -1
  49. package/internal/hardhat-network/stack-traces/vm-tracer.js +3 -150
  50. package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
  51. package/package.json +2 -2
  52. package/src/internal/hardhat-network/provider/provider.ts +11 -24
  53. package/src/internal/hardhat-network/provider/return-data.ts +5 -73
  54. package/src/internal/hardhat-network/provider/vm/exit.ts +4 -92
  55. package/src/internal/hardhat-network/stack-traces/compiler-to-model.ts +5 -697
  56. package/src/internal/hardhat-network/stack-traces/debug.ts +5 -218
  57. package/src/internal/hardhat-network/stack-traces/library-utils.ts +5 -90
  58. package/src/internal/hardhat-network/stack-traces/logger.ts +0 -221
  59. package/src/internal/hardhat-network/stack-traces/message-trace.ts +5 -122
  60. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +16 -15
  61. package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +83 -186
  62. package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +5 -253
  63. package/src/internal/hardhat-network/stack-traces/vm-trace-decoder.ts +15 -108
  64. package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +5 -206
  65. package/internal/hardhat-network/stack-traces/contracts-identifier.d.ts +0 -15
  66. package/internal/hardhat-network/stack-traces/contracts-identifier.d.ts.map +0 -1
  67. package/internal/hardhat-network/stack-traces/contracts-identifier.js +0 -166
  68. package/internal/hardhat-network/stack-traces/contracts-identifier.js.map +0 -1
  69. package/internal/hardhat-network/stack-traces/error-inferrer.d.ts +0 -85
  70. package/internal/hardhat-network/stack-traces/error-inferrer.d.ts.map +0 -1
  71. package/internal/hardhat-network/stack-traces/error-inferrer.js +0 -1168
  72. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +0 -1
  73. package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.d.ts +0 -24
  74. package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.d.ts.map +0 -1
  75. package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.js +0 -116
  76. package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.js.map +0 -1
  77. package/internal/hardhat-network/stack-traces/model.d.ts +0 -140
  78. package/internal/hardhat-network/stack-traces/model.d.ts.map +0 -1
  79. package/internal/hardhat-network/stack-traces/model.js +0 -328
  80. package/internal/hardhat-network/stack-traces/model.js.map +0 -1
  81. package/internal/hardhat-network/stack-traces/opcodes.d.ts +0 -266
  82. package/internal/hardhat-network/stack-traces/opcodes.d.ts.map +0 -1
  83. package/internal/hardhat-network/stack-traces/opcodes.js +0 -320
  84. package/internal/hardhat-network/stack-traces/opcodes.js.map +0 -1
  85. package/internal/hardhat-network/stack-traces/source-maps.d.ts +0 -13
  86. package/internal/hardhat-network/stack-traces/source-maps.d.ts.map +0 -1
  87. package/internal/hardhat-network/stack-traces/source-maps.js +0 -106
  88. package/internal/hardhat-network/stack-traces/source-maps.js.map +0 -1
  89. package/src/internal/hardhat-network/stack-traces/contracts-identifier.ts +0 -235
  90. package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +0 -1845
  91. package/src/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.ts +0 -163
  92. package/src/internal/hardhat-network/stack-traces/model.ts +0 -409
  93. package/src/internal/hardhat-network/stack-traces/opcodes.ts +0 -344
  94. package/src/internal/hardhat-network/stack-traces/source-maps.ts +0 -167
@@ -1,158 +1,7 @@
1
- import { ReturnData } from "../provider/return-data";
2
- import { ContractFunctionType } from "./model";
3
- export declare enum StackTraceEntryType {
4
- CALLSTACK_ENTRY = 0,
5
- UNRECOGNIZED_CREATE_CALLSTACK_ENTRY = 1,
6
- UNRECOGNIZED_CONTRACT_CALLSTACK_ENTRY = 2,
7
- PRECOMPILE_ERROR = 3,
8
- REVERT_ERROR = 4,
9
- PANIC_ERROR = 5,
10
- CUSTOM_ERROR = 6,
11
- FUNCTION_NOT_PAYABLE_ERROR = 7,
12
- INVALID_PARAMS_ERROR = 8,
13
- FALLBACK_NOT_PAYABLE_ERROR = 9,
14
- FALLBACK_NOT_PAYABLE_AND_NO_RECEIVE_ERROR = 10,
15
- UNRECOGNIZED_FUNCTION_WITHOUT_FALLBACK_ERROR = 11,
16
- MISSING_FALLBACK_OR_RECEIVE_ERROR = 12,
17
- RETURNDATA_SIZE_ERROR = 13,
18
- NONCONTRACT_ACCOUNT_CALLED_ERROR = 14,
19
- CALL_FAILED_ERROR = 15,
20
- DIRECT_LIBRARY_CALL_ERROR = 16,
21
- UNRECOGNIZED_CREATE_ERROR = 17,
22
- UNRECOGNIZED_CONTRACT_ERROR = 18,
23
- OTHER_EXECUTION_ERROR = 19,
24
- UNMAPPED_SOLC_0_6_3_REVERT_ERROR = 20,
25
- CONTRACT_TOO_LARGE_ERROR = 21,
26
- INTERNAL_FUNCTION_CALLSTACK_ENTRY = 22,
27
- CONTRACT_CALL_RUN_OUT_OF_GAS_ERROR = 23
28
- }
29
- export declare const FALLBACK_FUNCTION_NAME = "<fallback>";
30
- export declare const RECEIVE_FUNCTION_NAME = "<receive>";
31
- export declare const CONSTRUCTOR_FUNCTION_NAME = "constructor";
32
- export declare const UNRECOGNIZED_FUNCTION_NAME = "<unrecognized-selector>";
33
- export declare const UNKNOWN_FUNCTION_NAME = "<unknown>";
34
- export declare const PRECOMPILE_FUNCTION_NAME = "<precompile>";
35
- export declare const UNRECOGNIZED_CONTRACT_NAME = "<UnrecognizedContract>";
36
- export interface SourceReference {
37
- sourceName: string;
38
- sourceContent: string;
39
- contract?: string;
40
- function?: string;
41
- line: number;
42
- range: [number, number];
43
- }
44
- export interface CallstackEntryStackTraceEntry {
45
- type: StackTraceEntryType.CALLSTACK_ENTRY;
46
- sourceReference: SourceReference;
47
- functionType: ContractFunctionType;
48
- }
49
- export interface UnrecognizedCreateCallstackEntryStackTraceEntry {
50
- type: StackTraceEntryType.UNRECOGNIZED_CREATE_CALLSTACK_ENTRY;
51
- sourceReference?: undefined;
52
- }
53
- export interface UnrecognizedContractCallstackEntryStackTraceEntry {
54
- type: StackTraceEntryType.UNRECOGNIZED_CONTRACT_CALLSTACK_ENTRY;
55
- address: Uint8Array;
56
- sourceReference?: undefined;
57
- }
58
- export interface PrecompileErrorStackTraceEntry {
59
- type: StackTraceEntryType.PRECOMPILE_ERROR;
60
- precompile: number;
61
- sourceReference?: undefined;
62
- }
63
- export interface RevertErrorStackTraceEntry {
64
- type: StackTraceEntryType.REVERT_ERROR;
65
- message: ReturnData;
66
- sourceReference: SourceReference;
67
- isInvalidOpcodeError: boolean;
68
- }
69
- export interface PanicErrorStackTraceEntry {
70
- type: StackTraceEntryType.PANIC_ERROR;
71
- errorCode: bigint;
72
- sourceReference?: SourceReference;
73
- }
74
- export interface CustomErrorStackTraceEntry {
75
- type: StackTraceEntryType.CUSTOM_ERROR;
76
- message: string;
77
- sourceReference: SourceReference;
78
- }
79
- export interface UnmappedSolc063RevertErrorStackTraceEntry {
80
- type: StackTraceEntryType.UNMAPPED_SOLC_0_6_3_REVERT_ERROR;
81
- sourceReference?: SourceReference;
82
- }
83
- export interface FunctionNotPayableErrorStackTraceEntry {
84
- type: StackTraceEntryType.FUNCTION_NOT_PAYABLE_ERROR;
85
- value: bigint;
86
- sourceReference: SourceReference;
87
- }
88
- export interface InvalidParamsErrorStackTraceEntry {
89
- type: StackTraceEntryType.INVALID_PARAMS_ERROR;
90
- sourceReference: SourceReference;
91
- }
92
- export interface FallbackNotPayableErrorStackTraceEntry {
93
- type: StackTraceEntryType.FALLBACK_NOT_PAYABLE_ERROR;
94
- value: bigint;
95
- sourceReference: SourceReference;
96
- }
97
- export interface FallbackNotPayableAndNoReceiveErrorStackTraceEntry {
98
- type: StackTraceEntryType.FALLBACK_NOT_PAYABLE_AND_NO_RECEIVE_ERROR;
99
- value: bigint;
100
- sourceReference: SourceReference;
101
- }
102
- export interface UnrecognizedFunctionWithoutFallbackErrorStackTraceEntry {
103
- type: StackTraceEntryType.UNRECOGNIZED_FUNCTION_WITHOUT_FALLBACK_ERROR;
104
- sourceReference: SourceReference;
105
- }
106
- export interface MissingFallbackOrReceiveErrorStackTraceEntry {
107
- type: StackTraceEntryType.MISSING_FALLBACK_OR_RECEIVE_ERROR;
108
- sourceReference: SourceReference;
109
- }
110
- export interface ReturndataSizeErrorStackTraceEntry {
111
- type: StackTraceEntryType.RETURNDATA_SIZE_ERROR;
112
- sourceReference: SourceReference;
113
- }
114
- export interface NonContractAccountCalledErrorStackTraceEntry {
115
- type: StackTraceEntryType.NONCONTRACT_ACCOUNT_CALLED_ERROR;
116
- sourceReference: SourceReference;
117
- }
118
- export interface CallFailedErrorStackTraceEntry {
119
- type: StackTraceEntryType.CALL_FAILED_ERROR;
120
- sourceReference: SourceReference;
121
- }
122
- export interface DirectLibraryCallErrorStackTraceEntry {
123
- type: StackTraceEntryType.DIRECT_LIBRARY_CALL_ERROR;
124
- sourceReference: SourceReference;
125
- }
126
- export interface UnrecognizedCreateErrorStackTraceEntry {
127
- type: StackTraceEntryType.UNRECOGNIZED_CREATE_ERROR;
128
- message: ReturnData;
129
- sourceReference?: undefined;
130
- isInvalidOpcodeError: boolean;
131
- }
132
- export interface UnrecognizedContractErrorStackTraceEntry {
133
- type: StackTraceEntryType.UNRECOGNIZED_CONTRACT_ERROR;
134
- address: Uint8Array;
135
- message: ReturnData;
136
- sourceReference?: undefined;
137
- isInvalidOpcodeError: boolean;
138
- }
139
- export interface OtherExecutionErrorStackTraceEntry {
140
- type: StackTraceEntryType.OTHER_EXECUTION_ERROR;
141
- sourceReference?: SourceReference;
142
- }
143
- export interface ContractTooLargeErrorStackTraceEntry {
144
- type: StackTraceEntryType.CONTRACT_TOO_LARGE_ERROR;
145
- sourceReference?: SourceReference;
146
- }
147
- export interface InternalFunctionCallStackEntry {
148
- type: StackTraceEntryType.INTERNAL_FUNCTION_CALLSTACK_ENTRY;
149
- pc: number;
150
- sourceReference: SourceReference;
151
- }
152
- export interface ContractCallRunOutOfGasError {
153
- type: StackTraceEntryType.CONTRACT_CALL_RUN_OUT_OF_GAS_ERROR;
154
- sourceReference?: SourceReference;
155
- }
1
+ import type { SourceReference, CallstackEntryStackTraceEntry, UnrecognizedCreateCallstackEntryStackTraceEntry, UnrecognizedContractCallstackEntryStackTraceEntry, PrecompileErrorStackTraceEntry, RevertErrorStackTraceEntry, PanicErrorStackTraceEntry, CustomErrorStackTraceEntry, FunctionNotPayableErrorStackTraceEntry, InvalidParamsErrorStackTraceEntry, FallbackNotPayableErrorStackTraceEntry, FallbackNotPayableAndNoReceiveErrorStackTraceEntry, UnrecognizedFunctionWithoutFallbackErrorStackTraceEntry, MissingFallbackOrReceiveErrorStackTraceEntry, ReturndataSizeErrorStackTraceEntry, NonContractAccountCalledErrorStackTraceEntry, CallFailedErrorStackTraceEntry, DirectLibraryCallErrorStackTraceEntry, UnrecognizedCreateErrorStackTraceEntry, UnrecognizedContractErrorStackTraceEntry, OtherExecutionErrorStackTraceEntry, UnmappedSolc063RevertErrorStackTraceEntry, ContractTooLargeErrorStackTraceEntry, InternalFunctionCallStackEntry, ContractCallRunOutOfGasError } from "@nomicfoundation/edr";
2
+ declare const StackTraceEntryType: typeof import("@nomicfoundation/edr").StackTraceEntryType, stackTraceEntryTypeToString: typeof import("@nomicfoundation/edr").stackTraceEntryTypeToString, FALLBACK_FUNCTION_NAME: string, RECEIVE_FUNCTION_NAME: string, CONSTRUCTOR_FUNCTION_NAME: string, UNRECOGNIZED_FUNCTION_NAME: string, UNKNOWN_FUNCTION_NAME: string, PRECOMPILE_FUNCTION_NAME: string, UNRECOGNIZED_CONTRACT_NAME: string;
3
+ export { SourceReference, StackTraceEntryType, stackTraceEntryTypeToString, FALLBACK_FUNCTION_NAME, RECEIVE_FUNCTION_NAME, CONSTRUCTOR_FUNCTION_NAME, UNRECOGNIZED_FUNCTION_NAME, UNKNOWN_FUNCTION_NAME, PRECOMPILE_FUNCTION_NAME, UNRECOGNIZED_CONTRACT_NAME, };
4
+ export type { CallstackEntryStackTraceEntry, UnrecognizedCreateCallstackEntryStackTraceEntry, UnrecognizedContractCallstackEntryStackTraceEntry, PrecompileErrorStackTraceEntry, RevertErrorStackTraceEntry, PanicErrorStackTraceEntry, CustomErrorStackTraceEntry, FunctionNotPayableErrorStackTraceEntry, InvalidParamsErrorStackTraceEntry, FallbackNotPayableErrorStackTraceEntry, FallbackNotPayableAndNoReceiveErrorStackTraceEntry, UnrecognizedFunctionWithoutFallbackErrorStackTraceEntry, MissingFallbackOrReceiveErrorStackTraceEntry, ReturndataSizeErrorStackTraceEntry, NonContractAccountCalledErrorStackTraceEntry, CallFailedErrorStackTraceEntry, DirectLibraryCallErrorStackTraceEntry, UnrecognizedCreateErrorStackTraceEntry, UnrecognizedContractErrorStackTraceEntry, OtherExecutionErrorStackTraceEntry, UnmappedSolc063RevertErrorStackTraceEntry, ContractTooLargeErrorStackTraceEntry, InternalFunctionCallStackEntry, ContractCallRunOutOfGasError, };
156
5
  export type SolidityStackTraceEntry = CallstackEntryStackTraceEntry | UnrecognizedCreateCallstackEntryStackTraceEntry | UnrecognizedContractCallstackEntryStackTraceEntry | PrecompileErrorStackTraceEntry | RevertErrorStackTraceEntry | PanicErrorStackTraceEntry | CustomErrorStackTraceEntry | FunctionNotPayableErrorStackTraceEntry | InvalidParamsErrorStackTraceEntry | FallbackNotPayableErrorStackTraceEntry | FallbackNotPayableAndNoReceiveErrorStackTraceEntry | UnrecognizedFunctionWithoutFallbackErrorStackTraceEntry | MissingFallbackOrReceiveErrorStackTraceEntry | ReturndataSizeErrorStackTraceEntry | NonContractAccountCalledErrorStackTraceEntry | CallFailedErrorStackTraceEntry | DirectLibraryCallErrorStackTraceEntry | UnrecognizedCreateErrorStackTraceEntry | UnrecognizedContractErrorStackTraceEntry | OtherExecutionErrorStackTraceEntry | UnmappedSolc063RevertErrorStackTraceEntry | ContractTooLargeErrorStackTraceEntry | InternalFunctionCallStackEntry | ContractCallRunOutOfGasError;
157
6
  export type SolidityStackTrace = SolidityStackTraceEntry[];
158
7
  //# sourceMappingURL=solidity-stack-trace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"solidity-stack-trace.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solidity-stack-trace.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,6BAA6B,EAC7B,+CAA+C,EAC/C,iDAAiD,EACjD,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,sCAAsC,EACtC,iCAAiC,EACjC,sCAAsC,EACtC,kDAAkD,EAClD,uDAAuD,EACvD,4CAA4C,EAC5C,kCAAkC,EAClC,4CAA4C,EAC5C,8BAA8B,EAC9B,qCAAqC,EACrC,sCAAsC,EACtC,wCAAwC,EACxC,kCAAkC,EAClC,yCAAyC,EACzC,oCAAoC,EACpC,8BAA8B,EAC9B,4BAA4B,EAC7B,MAAM,sBAAsB,CAAC;AAI9B,QAAA,MACE,mBAAmB,6DACnB,2BAA2B,qEAC3B,sBAAsB,UACtB,qBAAqB,UACrB,yBAAyB,UACzB,0BAA0B,UAC1B,qBAAqB,UACrB,wBAAwB,UACxB,0BAA0B,QAGc,CAAC;AAE3C,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,GAC3B,CAAC;AAEF,YAAY,EACV,6BAA6B,EAC7B,+CAA+C,EAC/C,iDAAiD,EACjD,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,sCAAsC,EACtC,iCAAiC,EACjC,sCAAsC,EACtC,kDAAkD,EAClD,uDAAuD,EACvD,4CAA4C,EAC5C,kCAAkC,EAClC,4CAA4C,EAC5C,8BAA8B,EAC9B,qCAAqC,EACrC,sCAAsC,EACtC,wCAAwC,EACxC,kCAAkC,EAClC,yCAAyC,EACzC,oCAAoC,EACpC,8BAA8B,EAC9B,4BAA4B,GAC7B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B,6BAA6B,GAC7B,+CAA+C,GAC/C,iDAAiD,GACjD,8BAA8B,GAC9B,0BAA0B,GAC1B,yBAAyB,GACzB,0BAA0B,GAC1B,sCAAsC,GACtC,iCAAiC,GACjC,sCAAsC,GACtC,kDAAkD,GAClD,uDAAuD,GACvD,4CAA4C,GAC5C,kCAAkC,GAClC,4CAA4C,GAC5C,8BAA8B,GAC9B,qCAAqC,GACrC,sCAAsC,GACtC,wCAAwC,GACxC,kCAAkC,GAClC,yCAAyC,GACzC,oCAAoC,GACpC,8BAA8B,GAC9B,4BAA4B,CAAC;AAEjC,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,EAAE,CAAC"}
@@ -1,40 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UNRECOGNIZED_CONTRACT_NAME = exports.PRECOMPILE_FUNCTION_NAME = exports.UNKNOWN_FUNCTION_NAME = exports.UNRECOGNIZED_FUNCTION_NAME = exports.CONSTRUCTOR_FUNCTION_NAME = exports.RECEIVE_FUNCTION_NAME = exports.FALLBACK_FUNCTION_NAME = exports.StackTraceEntryType = void 0;
4
- var StackTraceEntryType;
5
- (function (StackTraceEntryType) {
6
- StackTraceEntryType[StackTraceEntryType["CALLSTACK_ENTRY"] = 0] = "CALLSTACK_ENTRY";
7
- StackTraceEntryType[StackTraceEntryType["UNRECOGNIZED_CREATE_CALLSTACK_ENTRY"] = 1] = "UNRECOGNIZED_CREATE_CALLSTACK_ENTRY";
8
- StackTraceEntryType[StackTraceEntryType["UNRECOGNIZED_CONTRACT_CALLSTACK_ENTRY"] = 2] = "UNRECOGNIZED_CONTRACT_CALLSTACK_ENTRY";
9
- StackTraceEntryType[StackTraceEntryType["PRECOMPILE_ERROR"] = 3] = "PRECOMPILE_ERROR";
10
- StackTraceEntryType[StackTraceEntryType["REVERT_ERROR"] = 4] = "REVERT_ERROR";
11
- StackTraceEntryType[StackTraceEntryType["PANIC_ERROR"] = 5] = "PANIC_ERROR";
12
- StackTraceEntryType[StackTraceEntryType["CUSTOM_ERROR"] = 6] = "CUSTOM_ERROR";
13
- StackTraceEntryType[StackTraceEntryType["FUNCTION_NOT_PAYABLE_ERROR"] = 7] = "FUNCTION_NOT_PAYABLE_ERROR";
14
- StackTraceEntryType[StackTraceEntryType["INVALID_PARAMS_ERROR"] = 8] = "INVALID_PARAMS_ERROR";
15
- StackTraceEntryType[StackTraceEntryType["FALLBACK_NOT_PAYABLE_ERROR"] = 9] = "FALLBACK_NOT_PAYABLE_ERROR";
16
- StackTraceEntryType[StackTraceEntryType["FALLBACK_NOT_PAYABLE_AND_NO_RECEIVE_ERROR"] = 10] = "FALLBACK_NOT_PAYABLE_AND_NO_RECEIVE_ERROR";
17
- StackTraceEntryType[StackTraceEntryType["UNRECOGNIZED_FUNCTION_WITHOUT_FALLBACK_ERROR"] = 11] = "UNRECOGNIZED_FUNCTION_WITHOUT_FALLBACK_ERROR";
18
- StackTraceEntryType[StackTraceEntryType["MISSING_FALLBACK_OR_RECEIVE_ERROR"] = 12] = "MISSING_FALLBACK_OR_RECEIVE_ERROR";
19
- StackTraceEntryType[StackTraceEntryType["RETURNDATA_SIZE_ERROR"] = 13] = "RETURNDATA_SIZE_ERROR";
20
- StackTraceEntryType[StackTraceEntryType["NONCONTRACT_ACCOUNT_CALLED_ERROR"] = 14] = "NONCONTRACT_ACCOUNT_CALLED_ERROR";
21
- StackTraceEntryType[StackTraceEntryType["CALL_FAILED_ERROR"] = 15] = "CALL_FAILED_ERROR";
22
- StackTraceEntryType[StackTraceEntryType["DIRECT_LIBRARY_CALL_ERROR"] = 16] = "DIRECT_LIBRARY_CALL_ERROR";
23
- StackTraceEntryType[StackTraceEntryType["UNRECOGNIZED_CREATE_ERROR"] = 17] = "UNRECOGNIZED_CREATE_ERROR";
24
- StackTraceEntryType[StackTraceEntryType["UNRECOGNIZED_CONTRACT_ERROR"] = 18] = "UNRECOGNIZED_CONTRACT_ERROR";
25
- StackTraceEntryType[StackTraceEntryType["OTHER_EXECUTION_ERROR"] = 19] = "OTHER_EXECUTION_ERROR";
26
- // This is a special case to handle a regression introduced in solc 0.6.3
27
- // For more info: https://github.com/ethereum/solidity/issues/9006
28
- StackTraceEntryType[StackTraceEntryType["UNMAPPED_SOLC_0_6_3_REVERT_ERROR"] = 20] = "UNMAPPED_SOLC_0_6_3_REVERT_ERROR";
29
- StackTraceEntryType[StackTraceEntryType["CONTRACT_TOO_LARGE_ERROR"] = 21] = "CONTRACT_TOO_LARGE_ERROR";
30
- StackTraceEntryType[StackTraceEntryType["INTERNAL_FUNCTION_CALLSTACK_ENTRY"] = 22] = "INTERNAL_FUNCTION_CALLSTACK_ENTRY";
31
- StackTraceEntryType[StackTraceEntryType["CONTRACT_CALL_RUN_OUT_OF_GAS_ERROR"] = 23] = "CONTRACT_CALL_RUN_OUT_OF_GAS_ERROR";
32
- })(StackTraceEntryType = exports.StackTraceEntryType || (exports.StackTraceEntryType = {}));
33
- exports.FALLBACK_FUNCTION_NAME = "<fallback>";
34
- exports.RECEIVE_FUNCTION_NAME = "<receive>";
35
- exports.CONSTRUCTOR_FUNCTION_NAME = "constructor";
36
- exports.UNRECOGNIZED_FUNCTION_NAME = "<unrecognized-selector>";
37
- exports.UNKNOWN_FUNCTION_NAME = "<unknown>";
38
- exports.PRECOMPILE_FUNCTION_NAME = "<precompile>";
39
- exports.UNRECOGNIZED_CONTRACT_NAME = "<UnrecognizedContract>";
3
+ exports.UNRECOGNIZED_CONTRACT_NAME = exports.PRECOMPILE_FUNCTION_NAME = exports.UNKNOWN_FUNCTION_NAME = exports.UNRECOGNIZED_FUNCTION_NAME = exports.CONSTRUCTOR_FUNCTION_NAME = exports.RECEIVE_FUNCTION_NAME = exports.FALLBACK_FUNCTION_NAME = exports.stackTraceEntryTypeToString = exports.StackTraceEntryType = void 0;
4
+ const napi_rs_1 = require("../../../common/napi-rs");
5
+ const { StackTraceEntryType, stackTraceEntryTypeToString, FALLBACK_FUNCTION_NAME, RECEIVE_FUNCTION_NAME, CONSTRUCTOR_FUNCTION_NAME, UNRECOGNIZED_FUNCTION_NAME, UNKNOWN_FUNCTION_NAME, PRECOMPILE_FUNCTION_NAME, UNRECOGNIZED_CONTRACT_NAME, } = (0, napi_rs_1.requireNapiRsModule)("@nomicfoundation/edr");
6
+ exports.StackTraceEntryType = StackTraceEntryType;
7
+ exports.stackTraceEntryTypeToString = stackTraceEntryTypeToString;
8
+ exports.FALLBACK_FUNCTION_NAME = FALLBACK_FUNCTION_NAME;
9
+ exports.RECEIVE_FUNCTION_NAME = RECEIVE_FUNCTION_NAME;
10
+ exports.CONSTRUCTOR_FUNCTION_NAME = CONSTRUCTOR_FUNCTION_NAME;
11
+ exports.UNRECOGNIZED_FUNCTION_NAME = UNRECOGNIZED_FUNCTION_NAME;
12
+ exports.UNKNOWN_FUNCTION_NAME = UNKNOWN_FUNCTION_NAME;
13
+ exports.PRECOMPILE_FUNCTION_NAME = PRECOMPILE_FUNCTION_NAME;
14
+ exports.UNRECOGNIZED_CONTRACT_NAME = UNRECOGNIZED_CONTRACT_NAME;
40
15
  //# sourceMappingURL=solidity-stack-trace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"solidity-stack-trace.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts"],"names":[],"mappings":";;;AAIA,IAAY,mBA2BX;AA3BD,WAAY,mBAAmB;IAC7B,mFAAe,CAAA;IACf,2HAAmC,CAAA;IACnC,+HAAqC,CAAA;IACrC,qFAAgB,CAAA;IAChB,6EAAY,CAAA;IACZ,2EAAW,CAAA;IACX,6EAAY,CAAA;IACZ,yGAA0B,CAAA;IAC1B,6FAAoB,CAAA;IACpB,yGAA0B,CAAA;IAC1B,wIAAyC,CAAA;IACzC,8IAA4C,CAAA;IAC5C,wHAAiC,CAAA;IACjC,gGAAqB,CAAA;IACrB,sHAAgC,CAAA;IAChC,wFAAiB,CAAA;IACjB,wGAAyB,CAAA;IACzB,wGAAyB,CAAA;IACzB,4GAA2B,CAAA;IAC3B,gGAAqB,CAAA;IACrB,yEAAyE;IACzE,kEAAkE;IAClE,sHAAgC,CAAA;IAChC,sGAAwB,CAAA;IACxB,wHAAiC,CAAA;IACjC,0HAAkC,CAAA;AACpC,CAAC,EA3BW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QA2B9B;AAEY,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACpC,QAAA,yBAAyB,GAAG,aAAa,CAAC;AAC1C,QAAA,0BAA0B,GAAG,yBAAyB,CAAC;AACvD,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACpC,QAAA,wBAAwB,GAAG,cAAc,CAAC;AAC1C,QAAA,0BAA0B,GAAG,wBAAwB,CAAC"}
1
+ {"version":3,"file":"solidity-stack-trace.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts"],"names":[],"mappings":";;;AA4BA,qDAA8D;AAE9D,MAAM,EACJ,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,GAC3B,GAAG,IAAA,6BAAmB,EACrB,sBAAsB,CACkB,CAAC;AAIzC,kDAAmB;AACnB,kEAA2B;AAC3B,wDAAsB;AACtB,sDAAqB;AACrB,8DAAyB;AACzB,gEAA0B;AAC1B,sDAAqB;AACrB,4DAAwB;AACxB,gEAA0B"}
@@ -1,14 +1,3 @@
1
- import { MessageTrace } from "./message-trace";
2
- import { SolidityStackTrace } from "./solidity-stack-trace";
3
- export declare class SolidityTracer {
4
- private _errorInferrer;
5
- getStackTrace(maybeDecodedMessageTrace: MessageTrace): SolidityStackTrace;
6
- private _getCallMessageStackTrace;
7
- private _getUnrecognizedMessageStackTrace;
8
- private _getCreateMessageStackTrace;
9
- private _getPrecompileMessageStackTrace;
10
- private _traceEvmExecution;
11
- private _rawTraceEvmExecution;
12
- private _getLastSubtrace;
13
- }
1
+ declare const SolidityTracer: typeof import("@nomicfoundation/edr").SolidityTracer;
2
+ export { SolidityTracer };
14
3
  //# sourceMappingURL=solidityTracer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"solidityTracer.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/solidityTracer.ts"],"names":[],"mappings":"AAcA,OAAO,EAWL,YAAY,EAEb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,kBAAkB,EAGnB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAuB;IAEtC,aAAa,CAClB,wBAAwB,EAAE,YAAY,GACrC,kBAAkB;IAoBrB,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,iCAAiC;IA2DzC,OAAO,CAAC,2BAA2B;IAanC,OAAO,CAAC,+BAA+B;IAWvC,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,qBAAqB;IAwE7B,OAAO,CAAC,gBAAgB;CAazB"}
1
+ {"version":3,"file":"solidityTracer.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/solidityTracer.ts"],"names":[],"mappings":"AAEA,QAAA,MAAQ,cAAc,sDAEoB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,167 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SolidityTracer = void 0;
4
- const ethereumjs_util_1 = require("@nomicfoundation/ethereumjs-util");
5
- const return_data_1 = require("../provider/return-data");
6
- const exit_1 = require("../provider/vm/exit");
7
- const error_inferrer_1 = require("./error-inferrer");
8
- const mapped_inlined_internal_functions_heuristics_1 = require("./mapped-inlined-internal-functions-heuristics");
9
- const message_trace_1 = require("./message-trace");
10
- const model_1 = require("./model");
11
- const opcodes_1 = require("./opcodes");
12
- const solidity_stack_trace_1 = require("./solidity-stack-trace");
13
- class SolidityTracer {
14
- constructor() {
15
- this._errorInferrer = new error_inferrer_1.ErrorInferrer();
16
- }
17
- getStackTrace(maybeDecodedMessageTrace) {
18
- if (!maybeDecodedMessageTrace.exit.isError()) {
19
- return [];
20
- }
21
- if ((0, message_trace_1.isPrecompileTrace)(maybeDecodedMessageTrace)) {
22
- return this._getPrecompileMessageStackTrace(maybeDecodedMessageTrace);
23
- }
24
- if ((0, message_trace_1.isDecodedCreateTrace)(maybeDecodedMessageTrace)) {
25
- return this._getCreateMessageStackTrace(maybeDecodedMessageTrace);
26
- }
27
- if ((0, message_trace_1.isDecodedCallTrace)(maybeDecodedMessageTrace)) {
28
- return this._getCallMessageStackTrace(maybeDecodedMessageTrace);
29
- }
30
- return this._getUnrecognizedMessageStackTrace(maybeDecodedMessageTrace);
31
- }
32
- _getCallMessageStackTrace(trace) {
33
- const inferredError = this._errorInferrer.inferBeforeTracingCallMessage(trace);
34
- if (inferredError !== undefined) {
35
- return inferredError;
36
- }
37
- return this._traceEvmExecution(trace);
38
- }
39
- _getUnrecognizedMessageStackTrace(trace) {
40
- const subtrace = this._getLastSubtrace(trace);
41
- if (subtrace !== undefined) {
42
- // This is not a very exact heuristic, but most of the time it will be right, as solidity
43
- // reverts if a call fails, and most contracts are in solidity
44
- if (subtrace.exit.isError() &&
45
- (0, ethereumjs_util_1.equalsBytes)(trace.returnData, subtrace.returnData)) {
46
- let unrecognizedEntry;
47
- if ((0, message_trace_1.isCreateTrace)(trace)) {
48
- unrecognizedEntry = {
49
- type: solidity_stack_trace_1.StackTraceEntryType.UNRECOGNIZED_CREATE_CALLSTACK_ENTRY,
50
- };
51
- }
52
- else {
53
- unrecognizedEntry = {
54
- type: solidity_stack_trace_1.StackTraceEntryType.UNRECOGNIZED_CONTRACT_CALLSTACK_ENTRY,
55
- address: trace.address,
56
- };
57
- }
58
- return [unrecognizedEntry, ...this.getStackTrace(subtrace)];
59
- }
60
- }
61
- if (trace.exit.kind === exit_1.ExitCode.CODESIZE_EXCEEDS_MAXIMUM) {
62
- return [
63
- {
64
- type: solidity_stack_trace_1.StackTraceEntryType.CONTRACT_TOO_LARGE_ERROR,
65
- },
66
- ];
67
- }
68
- const isInvalidOpcodeError = trace.exit.kind === exit_1.ExitCode.INVALID_OPCODE;
69
- if ((0, message_trace_1.isCreateTrace)(trace)) {
70
- return [
71
- {
72
- type: solidity_stack_trace_1.StackTraceEntryType.UNRECOGNIZED_CREATE_ERROR,
73
- message: new return_data_1.ReturnData(trace.returnData),
74
- isInvalidOpcodeError,
75
- },
76
- ];
77
- }
78
- return [
79
- {
80
- type: solidity_stack_trace_1.StackTraceEntryType.UNRECOGNIZED_CONTRACT_ERROR,
81
- address: trace.address,
82
- message: new return_data_1.ReturnData(trace.returnData),
83
- isInvalidOpcodeError,
84
- },
85
- ];
86
- }
87
- _getCreateMessageStackTrace(trace) {
88
- const inferredError = this._errorInferrer.inferBeforeTracingCreateMessage(trace);
89
- if (inferredError !== undefined) {
90
- return inferredError;
91
- }
92
- return this._traceEvmExecution(trace);
93
- }
94
- _getPrecompileMessageStackTrace(trace) {
95
- return [
96
- {
97
- type: solidity_stack_trace_1.StackTraceEntryType.PRECOMPILE_ERROR,
98
- precompile: trace.precompile,
99
- },
100
- ];
101
- }
102
- _traceEvmExecution(trace) {
103
- const stackTrace = this._rawTraceEvmExecution(trace);
104
- if ((0, mapped_inlined_internal_functions_heuristics_1.stackTraceMayRequireAdjustments)(stackTrace, trace)) {
105
- return (0, mapped_inlined_internal_functions_heuristics_1.adjustStackTrace)(stackTrace, trace);
106
- }
107
- return stackTrace;
108
- }
109
- _rawTraceEvmExecution(trace) {
110
- const stacktrace = [];
111
- let subtracesSeen = 0;
112
- // There was a jump into a function according to the sourcemaps
113
- let jumpedIntoFunction = false;
114
- const functionJumpdests = [];
115
- let lastSubmessageData;
116
- for (let stepIndex = 0; stepIndex < trace.steps.length; stepIndex++) {
117
- const step = trace.steps[stepIndex];
118
- const nextStep = trace.steps[stepIndex + 1];
119
- if ((0, message_trace_1.isEvmStep)(step)) {
120
- const inst = trace.bytecode.getInstruction(step.pc);
121
- if (inst.jumpType === model_1.JumpType.INTO_FUNCTION &&
122
- nextStep !== undefined) {
123
- const nextEvmStep = nextStep; // A jump can't be followed by a subtrace
124
- const nextInst = trace.bytecode.getInstruction(nextEvmStep.pc);
125
- if (nextInst !== undefined && nextInst.opcode === opcodes_1.Opcode.JUMPDEST) {
126
- stacktrace.push((0, error_inferrer_1.instructionToCallstackStackTraceEntry)(trace.bytecode, inst));
127
- if (nextInst.location !== undefined) {
128
- jumpedIntoFunction = true;
129
- }
130
- functionJumpdests.push(nextInst);
131
- }
132
- }
133
- else if (inst.jumpType === model_1.JumpType.OUTOF_FUNCTION) {
134
- stacktrace.pop();
135
- functionJumpdests.pop();
136
- }
137
- }
138
- else {
139
- subtracesSeen += 1;
140
- // If there are more subtraces, this one didn't terminate the execution
141
- if (subtracesSeen < trace.numberOfSubtraces) {
142
- continue;
143
- }
144
- const submessageTrace = this.getStackTrace(step);
145
- lastSubmessageData = {
146
- messageTrace: step,
147
- stepIndex,
148
- stacktrace: submessageTrace,
149
- };
150
- }
151
- }
152
- const stacktraceWithInferredError = this._errorInferrer.inferAfterTracing(trace, stacktrace, functionJumpdests, jumpedIntoFunction, lastSubmessageData);
153
- return this._errorInferrer.filterRedundantFrames(stacktraceWithInferredError);
154
- }
155
- _getLastSubtrace(trace) {
156
- if (trace.numberOfSubtraces < 1) {
157
- return undefined;
158
- }
159
- let i = trace.steps.length - 1;
160
- while ((0, message_trace_1.isEvmStep)(trace.steps[i])) {
161
- i -= 1;
162
- }
163
- return trace.steps[i];
164
- }
165
- }
4
+ const napi_rs_1 = require("../../../common/napi-rs");
5
+ const { SolidityTracer } = (0, napi_rs_1.requireNapiRsModule)("@nomicfoundation/edr");
166
6
  exports.SolidityTracer = SolidityTracer;
167
7
  //# sourceMappingURL=solidityTracer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"solidityTracer.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/solidityTracer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solidityTracer.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/solidityTracer.ts"],"names":[],"mappings":";;;AAAA,qDAA8D;AAE9D,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,6BAAmB,EAC5C,sBAAsB,CACkB,CAAC;AAElC,wCAAc"}
@@ -1,17 +1,6 @@
1
- /// <reference types="node" />
1
+ import type { VmTraceDecoder as VmTraceDecoderT } from "@nomicfoundation/edr";
2
2
  import { TracingConfig } from "../provider/node-types";
3
- import { ContractsIdentifier } from "./contracts-identifier";
4
- import { MessageTrace } from "./message-trace";
5
- import { Bytecode } from "./model";
6
- export declare class VmTraceDecoder {
7
- private readonly _contractsIdentifier;
8
- constructor(_contractsIdentifier: ContractsIdentifier);
9
- getContractAndFunctionNamesForCall(code: Buffer, calldata?: Buffer): {
10
- contractName: string;
11
- functionName?: string;
12
- };
13
- tryToDecodeMessageTrace(messageTrace: MessageTrace): MessageTrace;
14
- addBytecode(bytecode: Bytecode): void;
15
- }
16
- export declare function initializeVmTraceDecoder(vmTraceDecoder: VmTraceDecoder, tracingConfig: TracingConfig): void;
3
+ declare const VmTraceDecoder: typeof VmTraceDecoderT;
4
+ declare function initializeVmTraceDecoderWrapper(vmTraceDecoder: VmTraceDecoderT, tracingConfig: TracingConfig): void;
5
+ export { VmTraceDecoder, VmTraceDecoderT, initializeVmTraceDecoderWrapper as initializeVmTraceDecoder, };
17
6
  //# sourceMappingURL=vm-trace-decoder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vm-trace-decoder.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-trace-decoder.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAIL,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAwB,MAAM,SAAS,CAAC;AAUzD,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAApB,oBAAoB,EAAE,mBAAmB;IAE/D,kCAAkC,CACvC,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,GAChB;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAyC3C,uBAAuB,CAAC,YAAY,EAAE,YAAY,GAAG,YAAY;IAiBjE,WAAW,CAAC,QAAQ,EAAE,QAAQ;CAGtC;AAED,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,QAyC7B"}
1
+ {"version":3,"file":"vm-trace-decoder.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-trace-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI9E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKvD,QAAA,MAAQ,cAAc,wBAEoB,CAAC;AAE3C,iBAAS,+BAA+B,CACtC,cAAc,EAAE,eAAe,EAC/B,aAAa,EAAE,aAAa,QAoB7B;AAED,OAAO,EACL,cAAc,EACd,eAAe,EACf,+BAA+B,IAAI,wBAAwB,GAC5D,CAAC"}
@@ -7,85 +7,21 @@ exports.initializeVmTraceDecoder = exports.VmTraceDecoder = void 0;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
8
  const debug_1 = __importDefault(require("debug"));
9
9
  const reporter_1 = require("../../sentry/reporter");
10
- const compiler_to_model_1 = require("./compiler-to-model");
11
- const message_trace_1 = require("./message-trace");
12
- const model_1 = require("./model");
13
- const solidity_stack_trace_1 = require("./solidity-stack-trace");
10
+ const napi_rs_1 = require("../../../common/napi-rs");
14
11
  const log = (0, debug_1.default)("hardhat:core:hardhat-network:node");
15
- class VmTraceDecoder {
16
- constructor(_contractsIdentifier) {
17
- this._contractsIdentifier = _contractsIdentifier;
18
- }
19
- getContractAndFunctionNamesForCall(code, calldata) {
20
- const isCreate = calldata === undefined;
21
- const bytecode = this._contractsIdentifier.getBytecodeForCall(code, isCreate);
22
- const contractName = bytecode?.contract.name ?? solidity_stack_trace_1.UNRECOGNIZED_CONTRACT_NAME;
23
- if (isCreate) {
24
- return {
25
- contractName,
26
- };
27
- }
28
- else {
29
- if (bytecode === undefined) {
30
- return {
31
- contractName,
32
- functionName: "",
33
- };
34
- }
35
- else {
36
- const func = bytecode.contract.getFunctionFromSelector(calldata.slice(0, 4));
37
- const functionName = func === undefined
38
- ? solidity_stack_trace_1.UNRECOGNIZED_FUNCTION_NAME
39
- : func.type === model_1.ContractFunctionType.FALLBACK
40
- ? solidity_stack_trace_1.FALLBACK_FUNCTION_NAME
41
- : func.type === model_1.ContractFunctionType.RECEIVE
42
- ? solidity_stack_trace_1.RECEIVE_FUNCTION_NAME
43
- : func.name;
44
- return {
45
- contractName,
46
- functionName,
47
- };
48
- }
49
- }
50
- }
51
- tryToDecodeMessageTrace(messageTrace) {
52
- if ((0, message_trace_1.isPrecompileTrace)(messageTrace)) {
53
- return messageTrace;
54
- }
55
- return {
56
- ...messageTrace,
57
- bytecode: this._contractsIdentifier.getBytecodeForCall(messageTrace.code, (0, message_trace_1.isCreateTrace)(messageTrace)),
58
- steps: messageTrace.steps.map((s) => (0, message_trace_1.isEvmStep)(s) ? s : this.tryToDecodeMessageTrace(s)),
59
- };
60
- }
61
- addBytecode(bytecode) {
62
- this._contractsIdentifier.addBytecode(bytecode);
63
- }
64
- }
12
+ const { VmTraceDecoder, initializeVmTraceDecoder } = (0, napi_rs_1.requireNapiRsModule)("@nomicfoundation/edr");
65
13
  exports.VmTraceDecoder = VmTraceDecoder;
66
- function initializeVmTraceDecoder(vmTraceDecoder, tracingConfig) {
67
- if (tracingConfig.buildInfos === undefined) {
68
- return;
69
- }
14
+ function initializeVmTraceDecoderWrapper(vmTraceDecoder, tracingConfig) {
70
15
  try {
71
- for (const buildInfo of tracingConfig.buildInfos) {
72
- const bytecodes = (0, compiler_to_model_1.createModelsAndDecodeBytecodes)(buildInfo.solcVersion, buildInfo.input, buildInfo.output);
73
- for (const bytecode of bytecodes) {
74
- if (tracingConfig.ignoreContracts === true &&
75
- bytecode.contract.name.startsWith("Ignored")) {
76
- continue;
77
- }
78
- vmTraceDecoder.addBytecode(bytecode);
79
- }
80
- }
16
+ initializeVmTraceDecoder(vmTraceDecoder, tracingConfig);
81
17
  }
82
18
  catch (error) {
83
19
  console.warn(chalk_1.default.yellow("The Hardhat Network tracing engine could not be initialized. Run Hardhat with --verbose to learn more."));
84
- log("Hardhat Network tracing disabled: ContractsIdentifier failed to be initialized. Please report this to help us improve Hardhat.\n", error);
20
+ log("Hardhat Network tracing disabled: VmTraceDecoder failed to be initialized. Please report this to help us improve Hardhat.\n", error);
85
21
  if (error instanceof Error) {
86
22
  reporter_1.Reporter.reportError(error);
87
23
  }
88
24
  }
89
25
  }
90
- exports.initializeVmTraceDecoder = initializeVmTraceDecoder;
26
+ exports.initializeVmTraceDecoder = initializeVmTraceDecoderWrapper;
91
27
  //# sourceMappingURL=vm-trace-decoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vm-trace-decoder.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-trace-decoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vm-trace-decoder.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-trace-decoder.ts"],"names":[],"mappings":";;;;;;AACA,kDAA0B;AAC1B,kDAA0B;AAC1B,oDAAiD;AAEjD,qDAA8D;AAE9D,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,mCAAmC,CAAC,CAAC;AAEvD,MAAM,EAAE,cAAc,EAAE,wBAAwB,EAAE,GAAG,IAAA,6BAAmB,EACtE,sBAAsB,CACkB,CAAC;AA2BzC,wCAAc;AAzBhB,SAAS,+BAA+B,CACtC,cAA+B,EAC/B,aAA4B;IAE5B,IAAI;QACF,wBAAwB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;KACzD;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,IAAI,CACV,eAAK,CAAC,MAAM,CACV,wGAAwG,CACzG,CACF,CAAC;QAEF,GAAG,CACD,6HAA6H,EAC7H,KAAK,CACN,CAAC;QAEF,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,mBAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC7B;KACF;AACH,CAAC;AAKoC,mEAAwB"}
@@ -1,20 +1,3 @@
1
- import type { ExecutionResult, TracingMessage, TracingStep } from "@nomicfoundation/edr";
2
- import { MessageTrace } from "./message-trace";
3
- /**
4
- * Consumes the incoming VM trace events, until an error occurs, to keep track
5
- * of the last top level message trace/error.
6
- */
7
- export declare class VMTracer {
8
- tracingSteps: TracingStep[];
9
- private _messageTraces;
10
- private _lastError;
11
- private _maxPrecompileNumber;
12
- constructor();
13
- getLastTopLevelMessageTrace(): MessageTrace | undefined;
14
- getLastError(): Error | undefined;
15
- private _shouldKeepTracing;
16
- addBeforeMessage(message: TracingMessage): void;
17
- addStep(step: TracingStep): void;
18
- addAfterMessage(result: ExecutionResult): void;
19
- }
1
+ declare const VmTracer: typeof import("@nomicfoundation/edr").VmTracer;
2
+ export { VmTracer as VMTracer };
20
3
  //# sourceMappingURL=vm-tracer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vm-tracer.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-tracer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAOL,YAAY,EAEb,MAAM,iBAAiB,CAAC;AAOzB;;;GAGG;AACH,qBAAa,QAAQ;IACZ,YAAY,EAAE,WAAW,EAAE,CAAM;IAExC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,oBAAoB,CAAC;;IAOtB,2BAA2B,IAAI,YAAY,GAAG,SAAS;IAIvD,YAAY,IAAI,KAAK,GAAG,SAAS;IAIxC,OAAO,CAAC,kBAAkB;IAInB,gBAAgB,CAAC,OAAO,EAAE,cAAc;IA6FxC,OAAO,CAAC,IAAI,EAAE,WAAW;IAsBzB,eAAe,CAAC,MAAM,EAAE,eAAe;CAoC/C"}
1
+ {"version":3,"file":"vm-tracer.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-tracer.ts"],"names":[],"mappings":"AAEA,QAAA,MAAQ,QAAQ,gDAE0B,CAAC;AAE3C,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,CAAC"}