hardhat 2.13.0 → 2.14.0
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/internal/constants.d.ts.map +1 -1
- package/internal/constants.js +1 -0
- package/internal/constants.js.map +1 -1
- package/internal/core/config/default-config.js +1 -1
- package/internal/core/config/default-config.js.map +1 -1
- package/internal/core/jsonrpc/types/output/block.d.ts +24 -0
- package/internal/core/jsonrpc/types/output/block.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/output/block.js +8 -0
- package/internal/core/jsonrpc/types/output/block.js.map +1 -1
- package/internal/hardhat-network/provider/BlockchainBase.d.ts +1 -1
- package/internal/hardhat-network/provider/BlockchainBase.d.ts.map +1 -1
- package/internal/hardhat-network/provider/BlockchainBase.js +16 -9
- package/internal/hardhat-network/provider/BlockchainBase.js.map +1 -1
- package/internal/hardhat-network/provider/TxPool.d.ts.map +1 -1
- package/internal/hardhat-network/provider/TxPool.js +1 -0
- package/internal/hardhat-network/provider/TxPool.js.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts +1 -1
- package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkBlockchain.js +24 -14
- package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
- package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts.map +1 -1
- package/internal/hardhat-network/provider/fork/rpcToBlockData.js +2 -0
- package/internal/hardhat-network/provider/fork/rpcToBlockData.js.map +1 -1
- package/internal/hardhat-network/provider/modules/eth.d.ts +1 -0
- package/internal/hardhat-network/provider/modules/eth.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/eth.js +28 -3
- package/internal/hardhat-network/provider/modules/eth.js.map +1 -1
- package/internal/hardhat-network/provider/node.d.ts +2 -0
- package/internal/hardhat-network/provider/node.d.ts.map +1 -1
- package/internal/hardhat-network/provider/node.js +62 -16
- package/internal/hardhat-network/provider/node.js.map +1 -1
- package/internal/hardhat-network/provider/output.d.ts +8 -0
- package/internal/hardhat-network/provider/output.d.ts.map +1 -1
- package/internal/hardhat-network/provider/output.js +9 -0
- package/internal/hardhat-network/provider/output.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js +5 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js +5 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js.map +1 -1
- package/internal/solidity/resolver.d.ts.map +1 -1
- package/internal/solidity/resolver.js +18 -2
- package/internal/solidity/resolver.js.map +1 -1
- package/internal/util/hardforks.d.ts +2 -1
- package/internal/util/hardforks.d.ts.map +1 -1
- package/internal/util/hardforks.js +2 -0
- package/internal/util/hardforks.js.map +1 -1
- package/package.json +11 -11
- package/src/internal/constants.ts +1 -0
- package/src/internal/core/config/default-config.ts +1 -1
- package/src/internal/core/jsonrpc/types/output/block.ts +12 -0
- package/src/internal/hardhat-network/provider/BlockchainBase.ts +19 -10
- package/src/internal/hardhat-network/provider/TxPool.ts +1 -0
- package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +28 -18
- package/src/internal/hardhat-network/provider/fork/rpcToBlockData.ts +2 -0
- package/src/internal/hardhat-network/provider/modules/eth.ts +40 -3
- package/src/internal/hardhat-network/provider/node.ts +73 -14
- package/src/internal/hardhat-network/provider/output.ts +20 -0
- package/src/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.ts +1 -1
- package/src/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.ts +1 -1
- package/src/internal/hardhat-network/provider/transactions/FakeSenderTransaction.ts +1 -1
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts +5 -1
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.ts +5 -1
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts +1 -1
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.ts +1 -1
- package/src/internal/solidity/resolver.ts +25 -6
- package/src/internal/util/hardforks.ts +2 -0
package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadOnlyValidUnknownTypeTransaction.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.ts"],"names":[],"mappings":";;;AACA,kEAAgF;AAGhF,2DAA+D;AAE/D,yEAAyE;AAEzE;;;GAGG;AACH,MAAa,mCAAoC,SAAQ,2BAAW;IAoClE,YAAY,MAAe,EAAE,IAAY,EAAE,OAAe,EAAE;QAC1D,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ReadOnlyValidUnknownTypeTransaction.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/internal/solidity/resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,IAAI,aAAa,EAC9B,MAAM,2BAA2B,CAAC;AAenC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,WAAW,gBAAgB;IAC/B,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAAC;CACpC;AAID,qBAAa,YAAa,YAAW,aAAa;aAI9B,UAAU,EAAE,MAAM;aAClB,YAAY,EAAE,MAAM;aACpB,OAAO,EAAE,WAAW;aACpB,WAAW,EAAE,MAAM;aACnB,oBAAoB,EAAE,IAAI;IAP5C,SAAgB,OAAO,CAAC,EAAE,WAAW,CAAC;gBAGpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,MAAM,EACnB,oBAAoB,EAAE,IAAI,EAC1C,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM;IAgBlB,gBAAgB;CAMxB;AAED,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IANvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAG5C,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EACpD,oBAAoB,EAAE,CACrC,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,MAAM,CAAC;IAGtB;;;;OAIG;IACU,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAoBzE;;;;OAIG;IACU,aAAa,CACxB,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC;YA0IV,uBAAuB;YAavB,yBAAyB;
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/internal/solidity/resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,IAAI,aAAa,EAC9B,MAAM,2BAA2B,CAAC;AAenC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,WAAW,gBAAgB;IAC/B,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAAC;CACpC;AAID,qBAAa,YAAa,YAAW,aAAa;aAI9B,UAAU,EAAE,MAAM;aAClB,YAAY,EAAE,MAAM;aACpB,OAAO,EAAE,WAAW;aACpB,WAAW,EAAE,MAAM;aACnB,oBAAoB,EAAE,IAAI;IAP5C,SAAgB,OAAO,CAAC,EAAE,WAAW,CAAC;gBAGpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,MAAM,EACnB,oBAAoB,EAAE,IAAI,EAC1C,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM;IAgBlB,gBAAgB;CAMxB;AAED,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IANvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAG5C,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EACpD,oBAAoB,EAAE,CACrC,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,MAAM,CAAC;IAGtB;;;;OAIG;IACU,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAoBzE;;;;OAIG;IACU,aAAa,CACxB,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC;YA0IV,uBAAuB;YAavB,yBAAyB;YAyEzB,2BAA2B;YAuC3B,YAAY;IAoC1B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,sCAAsC;IAO9C,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,oCAAoC;YAY9B,qCAAqC;CAwCpD"}
|
|
@@ -189,12 +189,28 @@ class Resolver {
|
|
|
189
189
|
if (this._isScopedPackage(sourceName)) {
|
|
190
190
|
nodeModulesPath = path_1.default.dirname(nodeModulesPath);
|
|
191
191
|
}
|
|
192
|
-
|
|
192
|
+
let absolutePath;
|
|
193
|
+
if (path_1.default.basename(nodeModulesPath) !== NODE_MODULES) {
|
|
194
|
+
// this can happen in monorepos that use PnP, in those
|
|
195
|
+
// cases we handle resolution differently
|
|
196
|
+
const packageRoot = path_1.default.dirname(packageJsonPath);
|
|
197
|
+
const pattern = new RegExp(`^${libraryName}/?`);
|
|
198
|
+
const fileName = sourceName.replace(pattern, "");
|
|
199
|
+
await this._validateSourceNameExistenceAndCasing(packageRoot,
|
|
200
|
+
// TODO: this is _not_ a source name; we should handle this scenario in
|
|
201
|
+
// a better way
|
|
202
|
+
fileName, true);
|
|
203
|
+
absolutePath = path_1.default.join(packageRoot, fileName);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
await this._validateSourceNameExistenceAndCasing(nodeModulesPath, sourceName, true);
|
|
207
|
+
absolutePath = path_1.default.join(nodeModulesPath, sourceName);
|
|
208
|
+
}
|
|
193
209
|
const packageInfo = await fs_extra_1.default.readJson(packageJsonPath);
|
|
194
210
|
const libraryVersion = packageInfo.version;
|
|
195
211
|
return this._resolveFile(sourceName,
|
|
196
212
|
// We resolve to the real path here, as we may be resolving a linked library
|
|
197
|
-
await (0, fs_utils_1.getRealPath)(
|
|
213
|
+
await (0, fs_utils_1.getRealPath)(absolutePath), libraryName, libraryVersion);
|
|
198
214
|
}
|
|
199
215
|
async _relativeImportToSourceName(from, imported) {
|
|
200
216
|
// This is a special case, were we turn relative imports from local files
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/internal/solidity/resolver.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA+B;AAC/B,gDAAwB;AACxB,sDAA8B;AAO9B,2DAQkC;AAClC,2CAAsE;AACtE,qDAA6C;AAC7C,uCAAyE;AAEzE,+CAA+C;AAO/C,MAAM,YAAY,GAAG,cAAc,CAAC;AAEpC,MAAa,YAAY;IAGvB,YACkB,UAAkB,EAClB,YAAoB,EACpB,OAAoB,EACpB,WAAmB,EACnB,oBAA0B,EAC1C,WAAoB,EACpB,cAAuB;QANP,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QACpB,YAAO,GAAP,OAAO,CAAa;QACpB,gBAAW,GAAX,WAAW,CAAQ;QACnB,yBAAoB,GAApB,oBAAoB,CAAM;QAI1C,IAAA,+BAAsB,EACpB,CAAC,WAAW,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,CAAC;YACzD,CAAC,WAAW,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,CAAC,EAC7D,6DAA6D,CAC9D,CAAC;QAEF,IAAI,WAAW,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE;YAC7D,IAAI,CAAC,OAAO,GAAG;gBACb,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,cAAc;aACxB,CAAC;SACH;IACH,CAAC;IAEM,gBAAgB;QACrB,OAAO,CACL,IAAI,CAAC,UAAU;YACf,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAChE,CAAC;IACJ,CAAC;CACF;AAhCD,oCAgCC;AAED,MAAa,QAAQ;IAGnB,YACmB,YAAoB,EACpB,OAAe,EACf,SAAoD,EACpD,oBAEG;QALH,iBAAY,GAAZ,YAAY,CAAQ;QACpB,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAA2C;QACpD,yBAAoB,GAApB,oBAAoB,CAEjB;QARL,WAAM,GAA8B,IAAI,GAAG,EAAE,CAAC;IAS5D,CAAC;IAEJ;;;;OAIG;IACI,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,OAAO,MAAM,CAAC;SACf;QAED,IAAA,uCAAwB,EAAC,UAAU,CAAC,CAAC;QAErC,IAAI,YAA0B,CAAC;QAE/B,IAAI,MAAM,IAAA,gCAAiB,EAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE;YAC1D,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;SAC/D;aAAM;YACL,YAAY,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;SACjE;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC1C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CACxB,IAAkB,EAClB,UAAkB;QAElB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,MAAM,IAAI,qBAAY,CAAC,oBAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE;gBAC9D,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,QAAQ;gBACR,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;SACJ;QAED,IAAI,IAAA,iCAAkB,EAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE;YAC7C,MAAM,IAAI,qBAAY,CAAC,oBAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE;gBAC/D,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,QAAQ;aACT,CAAC,CAAC;SACJ;QAED,IAAI,IAAA,uCAAwB,EAAC,QAAQ,CAAC,EAAE;YACtC,MAAM,IAAI,qBAAY,CAAC,oBAAM,CAAC,QAAQ,CAAC,4BAA4B,EAAE;gBACnE,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,QAAQ;aACT,CAAC,CAAC;SACJ;QAED,iFAAiF;QACjF,0EAA0E;QAC1E,IAAI,MAAM,IAAA,qCAAsB,EAAC,QAAQ,CAAC,EAAE;YAC1C,MAAM,IAAI,qBAAY,CAAC,oBAAM,CAAC,QAAQ,CAAC,yBAAyB,EAAE;gBAChE,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,QAAQ;aACT,CAAC,CAAC;SACJ;QAED,IAAI;YACF,IAAI,UAAkB,CAAC;YAEvB,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAE1D,IAAI,gBAAgB,EAAE;gBACpB,UAAU,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aACrE;iBAAM;gBACL,UAAU,GAAG,IAAA,kCAAmB,EAAC,QAAQ,CAAC,CAAC;aAC5C;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,SAAS,EAAE;gBACxB,OAAO,MAAM,CAAC;aACf;YAED,IAAI,YAA0B,CAAC;YAE/B,mEAAmE;YACnE,4DAA4D;YAC5D,oDAAoD;YACpD,IACE,IAAI,CAAC,OAAO,KAAK,SAAS;gBAC1B,gBAAgB;gBAChB,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,QAAQ,CAAC,EAChD;gBACA,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;aAC/D;iBAAM;gBACL,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;aACzD;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAC1C,OAAO,YAAY,CAAC;SACrB;QAAC,OAAO,KAAK,EAAE;YACd,IACE,qBAAY,CAAC,kBAAkB,CAC7B,KAAK,EACL,oBAAM,CAAC,QAAQ,CAAC,cAAc,CAC/B;gBACD,qBAAY,CAAC,kBAAkB,CAC7B,KAAK,EACL,oBAAM,CAAC,QAAQ,CAAC,sBAAsB,CACvC,EACD;gBACA,IAAI,QAAQ,KAAK,UAAU,EAAE;oBAC3B,MAAM,IAAI,qBAAY,CACpB,oBAAM,CAAC,QAAQ,CAAC,8BAA8B,EAC9C;wBACE,QAAQ;wBACR,UAAU;wBACV,IAAI,EAAE,IAAI,CAAC,UAAU;qBACtB,EACD,KAAK,CACN,CAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,qBAAY,CACpB,oBAAM,CAAC,QAAQ,CAAC,uBAAuB,EACvC;wBACE,QAAQ;wBACR,IAAI,EAAE,IAAI,CAAC,UAAU;qBACtB,EACD,KAAK,CACN,CAAC;iBACH;aACF;YAED,IACE,qBAAY,CAAC,kBAAkB,CAC7B,KAAK,EACL,oBAAM,CAAC,QAAQ,CAAC,wBAAwB,CACzC,EACD;gBACA,MAAM,IAAI,qBAAY,CACpB,oBAAM,CAAC,QAAQ,CAAC,2BAA2B,EAC3C;oBACE,QAAQ;oBACR,IAAI,EAAE,IAAI,CAAC,UAAU;iBACtB,EACD,KAAK,CACN,CAAC;aACH;YAED,IACE,qBAAY,CAAC,kBAAkB,CAC7B,KAAK,EACL,oBAAM,CAAC,QAAQ,CAAC,qBAAqB,CACtC,EACD;gBACA,MAAM,IAAI,qBAAY,CACpB,oBAAM,CAAC,QAAQ,CAAC,8BAA8B,EAC9C;oBACE,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,OAAO;oBACvC,IAAI,EAAE,IAAI,CAAC,UAAU;iBACtB,EACD,KAAK,CACN,CAAC;aACH;YAED,gFAAgF;YAChF,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,UAAkB;QAElB,MAAM,IAAI,CAAC,qCAAqC,CAC9C,IAAI,CAAC,YAAY,EACjB,UAAU,EACV,KAAK,CACN,CAAC;QAEF,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,UAAkB;QAElB,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAErD,IAAI,eAAe,CAAC;QACpB,IAAI;YACF,eAAe,GAAG,IAAI,CAAC,sCAAsC,CAC3D,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CACvC,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,wEAAwE;YACxE,uEAAuE;YACvE,+CAA+C;YAC/C,IAAI,WAAW,KAAK,SAAS,EAAE;gBAC7B,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACxD,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;aAC7D;iBAAM;gBACL,MAAM,IAAI,qBAAY,CACpB,oBAAM,CAAC,QAAQ,CAAC,qBAAqB,EACrC;oBACE,OAAO,EAAE,WAAW;iBACrB,EACD,KAAc,CACf,CAAC;aACH;SACF;QAED,IAAI,eAAe,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE;YACrC,eAAe,GAAG,cAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SACjD;QAED,MAAM,IAAI,CAAC,qCAAqC,CAC9C,eAAe,EACf,UAAU,EACV,IAAI,CACL,CAAC;QAEF,MAAM,WAAW,GAGb,MAAM,kBAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC;QAE3C,OAAO,IAAI,CAAC,YAAY,CACtB,UAAU;QACV,4EAA4E;QAC5E,MAAM,IAAA,sBAAW,EAAC,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,EACzD,WAAW,EACX,cAAc,CACf,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,IAAkB,EAClB,QAAgB;QAEhB,yEAAyE;QACzE,sEAAsE;QACtE,uDAAuD;QACvD,IAAI,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;YACnD,OAAO,IAAI,CAAC,oCAAoC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SAClE;QAED,MAAM,UAAU,GAAG,IAAA,kCAAmB,EACpC,cAAI,CAAC,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CACnD,CAAC;QAEF,mEAAmE;QACnE,wEAAwE;QACxE,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAC9D,MAAM,IAAI,qBAAY,CACpB,oBAAM,CAAC,QAAQ,CAAC,iCAAiC,EACjD,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,CACpC,CAAC;SACH;QAED,IACE,IAAI,CAAC,OAAO,KAAK,SAAS;YAC1B,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD;YACA,qEAAqE;YACrE,+BAA+B;YAC/B,MAAM,IAAI,qBAAY,CAAC,oBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE;gBACrD,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,QAAQ;aACT,CAAC,CAAC;SACJ;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,UAAkB,EAClB,YAAoB,EACpB,WAAoB,EACpB,cAAuB;QAEvB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,kBAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,oBAAoB,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnD,MAAM,WAAW,GAAG,IAAA,gDAAyC,EAC3D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CACxB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAElB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CACtC,UAAU,EACV,YAAY,EACZ,WAAW,CACZ,CAAC;QAEF,MAAM,OAAO,GAAG;YACd,UAAU;YACV,GAAG,aAAa;SACjB,CAAC;QAEF,OAAO,IAAI,YAAY,CACrB,UAAU,EACV,YAAY,EACZ,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,cAAc,CACf,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,QAAgB;QACxC,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAEO,sCAAsC,CAAC,QAAgB;QAC7D,OAAO,iBAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC5B,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,UAAkB;QACxC,IAAI,QAAgB,CAAC;QACrB,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE;YACrC,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SACjE;aAAM,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YACzC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;SAC9B;aAAM;YACL,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACpC;QAED,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAEO,aAAa,CAAC,CAAS;QAC7B,MAAM,EAAE,GAAG,kBAAkB,CAAC;QAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAEO,gBAAgB,CAAC,eAAuB,EAAE,gBAAwB;QACxE,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,GAAG,GACP,UAAU,KAAK,CAAC,CAAC;YACf,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC;YAC1C,CAAC,CAAC,eAAe,CAAC;QAEtB,OAAO,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAEO,gBAAgB,CAAC,oBAA4B;QACnD,OAAO,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAEO,0BAA0B,CAChC,IAAkB,EAClB,QAAgB;QAEhB,OAAO,CACL,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YAChC,IAAI,CAAC,OAAO,KAAK,SAAS;YAC1B,QAAQ,CAAC,QAAQ,CAAC,GAAG,YAAY,GAAG,CAAC,CACtC,CAAC;IACJ,CAAC;IAEO,oCAAoC,CAC1C,IAAkB,EAClB,QAAgB;QAEhB,MAAM,UAAU,GAAG,IAAA,kCAAmB,EACpC,cAAI,CAAC,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CACnD,CAAC;QAEF,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;QACvD,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,qCAAqC,CACjD,OAAe,EACf,UAAkB,EAClB,SAAkB;QAElB,IAAI;YACF,MAAM,IAAA,mDAAoC,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACjE;QAAC,OAAO,KAAK,EAAE;YACd,IACE,qBAAY,CAAC,kBAAkB,CAC7B,KAAK,EACL,oBAAM,CAAC,YAAY,CAAC,cAAc,CACnC,EACD;gBACA,MAAM,IAAI,qBAAY,CACpB,SAAS;oBACP,CAAC,CAAC,oBAAM,CAAC,QAAQ,CAAC,sBAAsB;oBACxC,CAAC,CAAC,oBAAM,CAAC,QAAQ,CAAC,cAAc,EAClC,EAAE,IAAI,EAAE,UAAU,EAAE,EACpB,KAAK,CACN,CAAC;aACH;YAED,IACE,qBAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,oBAAM,CAAC,YAAY,CAAC,YAAY,CAAC,EACxE;gBACA,MAAM,IAAI,qBAAY,CACpB,oBAAM,CAAC,QAAQ,CAAC,wBAAwB,EACxC;oBACE,SAAS,EAAE,UAAU;oBACrB,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,OAAO;iBACxC,EACD,KAAK,CACN,CAAC;aACH;YAED,gFAAgF;YAChF,MAAM,KAAK,CAAC;SACb;IACH,CAAC;CACF;AApbD,4BAobC"}
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/internal/solidity/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,8 @@ export declare enum HardforkName {
|
|
|
13
13
|
LONDON = "london",
|
|
14
14
|
ARROW_GLACIER = "arrowGlacier",
|
|
15
15
|
GRAY_GLACIER = "grayGlacier",
|
|
16
|
-
MERGE = "merge"
|
|
16
|
+
MERGE = "merge",
|
|
17
|
+
SHANGHAI = "shanghai"
|
|
17
18
|
}
|
|
18
19
|
export declare function getHardforkName(name: string): HardforkName;
|
|
19
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hardforks.d.ts","sourceRoot":"","sources":["../../src/internal/util/hardforks.ts"],"names":[],"mappings":"AAEA,oBAAY,YAAY;IACtB,QAAQ,eAAe;IACvB,SAAS,cAAc;IACvB,GAAG,QAAQ;IACX,iBAAiB,qBAAqB;IACtC,eAAe,mBAAmB;IAClC,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,YAAY,gBAAgB;IAC5B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,aAAa,iBAAiB;IAC9B,YAAY,gBAAgB;IAC5B,KAAK,UAAU;
|
|
1
|
+
{"version":3,"file":"hardforks.d.ts","sourceRoot":"","sources":["../../src/internal/util/hardforks.ts"],"names":[],"mappings":"AAEA,oBAAY,YAAY;IACtB,QAAQ,eAAe;IACvB,SAAS,cAAc;IACvB,GAAG,QAAQ;IACX,iBAAiB,qBAAqB;IACtC,eAAe,mBAAmB;IAClC,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,YAAY,gBAAgB;IAC5B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,aAAa,iBAAiB;IAC9B,YAAY,gBAAgB;IAC5B,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AAqBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAY1D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,YAAY,GACtB,OAAO,CAOT"}
|
|
@@ -19,6 +19,7 @@ var HardforkName;
|
|
|
19
19
|
HardforkName["ARROW_GLACIER"] = "arrowGlacier";
|
|
20
20
|
HardforkName["GRAY_GLACIER"] = "grayGlacier";
|
|
21
21
|
HardforkName["MERGE"] = "merge";
|
|
22
|
+
HardforkName["SHANGHAI"] = "shanghai";
|
|
22
23
|
})(HardforkName = exports.HardforkName || (exports.HardforkName = {}));
|
|
23
24
|
const HARDFORKS_ORDER = [
|
|
24
25
|
HardforkName.FRONTIER,
|
|
@@ -36,6 +37,7 @@ const HARDFORKS_ORDER = [
|
|
|
36
37
|
HardforkName.ARROW_GLACIER,
|
|
37
38
|
HardforkName.GRAY_GLACIER,
|
|
38
39
|
HardforkName.MERGE,
|
|
40
|
+
HardforkName.SHANGHAI,
|
|
39
41
|
];
|
|
40
42
|
function getHardforkName(name) {
|
|
41
43
|
const hardforkName = Object.values(HardforkName)[Object.values(HardforkName).indexOf(name)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hardforks.js","sourceRoot":"","sources":["../../src/internal/util/hardforks.ts"],"names":[],"mappings":";;;AAAA,2CAAwD;AAExD,IAAY,
|
|
1
|
+
{"version":3,"file":"hardforks.js","sourceRoot":"","sources":["../../src/internal/util/hardforks.ts"],"names":[],"mappings":";;;AAAA,2CAAwD;AAExD,IAAY,YAiBX;AAjBD,WAAY,YAAY;IACtB,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,2BAAW,CAAA;IACX,sDAAsC,CAAA;IACtC,kDAAkC,CAAA;IAClC,uCAAuB,CAAA;IACvB,iDAAiC,CAAA;IACjC,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;IACrB,4CAA4B,CAAA;IAC5B,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,8CAA8B,CAAA;IAC9B,4CAA4B,CAAA;IAC5B,+BAAe,CAAA;IACf,qCAAqB,CAAA;AACvB,CAAC,EAjBW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAiBvB;AAED,MAAM,eAAe,GAAmB;IACtC,YAAY,CAAC,QAAQ;IACrB,YAAY,CAAC,SAAS;IACtB,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,iBAAiB;IAC9B,YAAY,CAAC,eAAe;IAC5B,YAAY,CAAC,SAAS;IACtB,YAAY,CAAC,cAAc;IAC3B,YAAY,CAAC,UAAU;IACvB,YAAY,CAAC,QAAQ;IACrB,YAAY,CAAC,YAAY;IACzB,YAAY,CAAC,MAAM;IACnB,YAAY,CAAC,MAAM;IACnB,YAAY,CAAC,aAAa;IAC1B,YAAY,CAAC,YAAY;IACzB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,QAAQ;CACtB,CAAC;AAEF,SAAgB,eAAe,CAAC,IAAY;IAC1C,MAAM,YAAY,GAChB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CACzB,MAAM,CAAC,MAAM,CAAS,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAClD,CAAC;IAEJ,IAAA,+BAAsB,EACpB,YAAY,KAAK,SAAS,EAC1B,wBAAwB,IAAI,EAAE,CAC/B,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC;AAZD,0CAYC;AAED;;;GAGG;AACH,SAAgB,WAAW,CACzB,SAAuB,EACvB,SAAuB;IAEvB,4EAA4E;IAC5E,+DAA+D;IAC/D,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAEtD,OAAO,MAAM,IAAI,MAAM,CAAC;AAC1B,CAAC;AAVD,kCAUC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hardhat",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.14.0",
|
|
4
4
|
"author": "Nomic Labs LLC",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://hardhat.org",
|
|
@@ -99,16 +99,16 @@
|
|
|
99
99
|
"dependencies": {
|
|
100
100
|
"@ethersproject/abi": "^5.1.2",
|
|
101
101
|
"@metamask/eth-sig-util": "^4.0.0",
|
|
102
|
-
"@nomicfoundation/ethereumjs-block": "
|
|
103
|
-
"@nomicfoundation/ethereumjs-blockchain": "
|
|
104
|
-
"@nomicfoundation/ethereumjs-common": "
|
|
105
|
-
"@nomicfoundation/ethereumjs-evm": "
|
|
106
|
-
"@nomicfoundation/ethereumjs-rlp": "
|
|
107
|
-
"@nomicfoundation/ethereumjs-statemanager": "
|
|
108
|
-
"@nomicfoundation/ethereumjs-trie": "
|
|
109
|
-
"@nomicfoundation/ethereumjs-tx": "
|
|
110
|
-
"@nomicfoundation/ethereumjs-util": "
|
|
111
|
-
"@nomicfoundation/ethereumjs-vm": "
|
|
102
|
+
"@nomicfoundation/ethereumjs-block": "5.0.1",
|
|
103
|
+
"@nomicfoundation/ethereumjs-blockchain": "7.0.1",
|
|
104
|
+
"@nomicfoundation/ethereumjs-common": "4.0.1",
|
|
105
|
+
"@nomicfoundation/ethereumjs-evm": "2.0.1",
|
|
106
|
+
"@nomicfoundation/ethereumjs-rlp": "5.0.1",
|
|
107
|
+
"@nomicfoundation/ethereumjs-statemanager": "2.0.1",
|
|
108
|
+
"@nomicfoundation/ethereumjs-trie": "6.0.1",
|
|
109
|
+
"@nomicfoundation/ethereumjs-tx": "5.0.1",
|
|
110
|
+
"@nomicfoundation/ethereumjs-util": "9.0.1",
|
|
111
|
+
"@nomicfoundation/ethereumjs-vm": "7.0.1",
|
|
112
112
|
"@nomicfoundation/solidity-analyzer": "^0.1.0",
|
|
113
113
|
"@sentry/node": "^5.18.1",
|
|
114
114
|
"@types/bn.js": "^5.1.0",
|
|
@@ -36,7 +36,7 @@ export const defaultHardhatNetworkParams: Omit<
|
|
|
36
36
|
HardhatNetworkConfig,
|
|
37
37
|
"gas" | "initialDate"
|
|
38
38
|
> = {
|
|
39
|
-
hardfork:
|
|
39
|
+
hardfork: HardforkName.SHANGHAI,
|
|
40
40
|
blockGasLimit: 30_000_000,
|
|
41
41
|
gasPrice: HARDHAT_NETWORK_DEFAULT_GAS_PRICE,
|
|
42
42
|
chainId: 31337,
|
|
@@ -5,6 +5,16 @@ import { rpcAddress, rpcData, rpcHash, rpcQuantity } from "../base-types";
|
|
|
5
5
|
|
|
6
6
|
import { rpcTransaction } from "./transaction";
|
|
7
7
|
|
|
8
|
+
const rpcWithdrawalItem = t.type(
|
|
9
|
+
{
|
|
10
|
+
index: rpcQuantity,
|
|
11
|
+
validatorIndex: rpcQuantity,
|
|
12
|
+
address: rpcAddress,
|
|
13
|
+
amount: rpcQuantity,
|
|
14
|
+
},
|
|
15
|
+
"RpcBlockWithdrawalItem"
|
|
16
|
+
);
|
|
17
|
+
|
|
8
18
|
const baseBlockResponse = {
|
|
9
19
|
number: nullable(rpcQuantity),
|
|
10
20
|
hash: nullable(rpcHash),
|
|
@@ -26,6 +36,8 @@ const baseBlockResponse = {
|
|
|
26
36
|
uncles: t.array(rpcHash, "HASH Array"),
|
|
27
37
|
mixHash: optional(rpcHash),
|
|
28
38
|
baseFeePerGas: optional(rpcQuantity),
|
|
39
|
+
withdrawals: optional(t.array(rpcWithdrawalItem)),
|
|
40
|
+
withdrawalsRoot: optional(rpcHash),
|
|
29
41
|
};
|
|
30
42
|
|
|
31
43
|
export type RpcBlock = t.TypeOf<typeof rpcBlock>;
|
|
@@ -63,7 +63,7 @@ export abstract class BlockchainBase {
|
|
|
63
63
|
|
|
64
64
|
public async getBlock(
|
|
65
65
|
blockHashOrNumber: Buffer | bigint | number
|
|
66
|
-
): Promise<Block
|
|
66
|
+
): Promise<Block> {
|
|
67
67
|
if (
|
|
68
68
|
(typeof blockHashOrNumber === "number" ||
|
|
69
69
|
BigIntUtils.isBigInt(blockHashOrNumber)) &&
|
|
@@ -73,22 +73,32 @@ export abstract class BlockchainBase {
|
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
if (typeof blockHashOrNumber === "number") {
|
|
76
|
-
|
|
76
|
+
const blockByNumber = this._data.getBlockByNumber(
|
|
77
|
+
BigInt(blockHashOrNumber)
|
|
78
|
+
);
|
|
79
|
+
if (blockByNumber === undefined) {
|
|
80
|
+
throw new Error("Block not found");
|
|
81
|
+
}
|
|
82
|
+
return blockByNumber;
|
|
77
83
|
}
|
|
78
84
|
if (BigIntUtils.isBigInt(blockHashOrNumber)) {
|
|
79
|
-
|
|
85
|
+
const blockByNumber = this._data.getBlockByNumber(blockHashOrNumber);
|
|
86
|
+
if (blockByNumber === undefined) {
|
|
87
|
+
throw new Error("Block not found");
|
|
88
|
+
}
|
|
89
|
+
return blockByNumber;
|
|
90
|
+
}
|
|
91
|
+
const blockByHash = this._data.getBlockByHash(blockHashOrNumber);
|
|
92
|
+
if (blockByHash === undefined) {
|
|
93
|
+
throw new Error("Block not found");
|
|
80
94
|
}
|
|
81
|
-
return
|
|
95
|
+
return blockByHash;
|
|
82
96
|
}
|
|
83
97
|
|
|
84
98
|
public abstract getLatestBlockNumber(): bigint;
|
|
85
99
|
|
|
86
100
|
public async getLatestBlock(): Promise<Block> {
|
|
87
|
-
|
|
88
|
-
if (block === null) {
|
|
89
|
-
throw new Error("Block not found");
|
|
90
|
-
}
|
|
91
|
-
return block;
|
|
101
|
+
return this.getBlock(this.getLatestBlockNumber());
|
|
92
102
|
}
|
|
93
103
|
|
|
94
104
|
public getLocalTransaction(
|
|
@@ -162,7 +172,6 @@ export abstract class BlockchainBase {
|
|
|
162
172
|
}
|
|
163
173
|
|
|
164
174
|
const parentBlock = await this.getBlock(blockNumber - 1n);
|
|
165
|
-
assertHardhatInvariant(parentBlock !== null, "Parent block should exist");
|
|
166
175
|
|
|
167
176
|
const parentHash = parentBlock.hash();
|
|
168
177
|
const parentTD = this._data.getTotalDifficulty(parentHash);
|
|
@@ -48,9 +48,7 @@ export class ForkBlockchain
|
|
|
48
48
|
return this._latestBlockNumber;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
public async getBlock(
|
|
52
|
-
blockHashOrNumber: Buffer | bigint
|
|
53
|
-
): Promise<Block | null> {
|
|
51
|
+
public async getBlock(blockHashOrNumber: Buffer | bigint): Promise<Block> {
|
|
54
52
|
if (
|
|
55
53
|
typeof blockHashOrNumber === "bigint" &&
|
|
56
54
|
this._data.isReservedBlock(blockHashOrNumber)
|
|
@@ -61,11 +59,17 @@ export class ForkBlockchain
|
|
|
61
59
|
let block: Block | undefined | null;
|
|
62
60
|
if (Buffer.isBuffer(blockHashOrNumber)) {
|
|
63
61
|
block = await this._getBlockByHash(blockHashOrNumber);
|
|
64
|
-
|
|
62
|
+
if (block === undefined) {
|
|
63
|
+
throw new Error("Block not found");
|
|
64
|
+
}
|
|
65
|
+
return block;
|
|
65
66
|
}
|
|
66
67
|
|
|
67
68
|
block = await this._getBlockByNumber(BigInt(blockHashOrNumber));
|
|
68
|
-
|
|
69
|
+
if (block === undefined) {
|
|
70
|
+
throw new Error("Block not found");
|
|
71
|
+
}
|
|
72
|
+
return block;
|
|
69
73
|
}
|
|
70
74
|
|
|
71
75
|
public async addBlock(block: Block): Promise<Block> {
|
|
@@ -131,10 +135,10 @@ export class ForkBlockchain
|
|
|
131
135
|
if (td !== undefined) {
|
|
132
136
|
return td;
|
|
133
137
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
+
|
|
139
|
+
// fetch block to check if it exists
|
|
140
|
+
await this.getBlock(blockHash);
|
|
141
|
+
|
|
138
142
|
td = this._data.getTotalDifficulty(blockHash);
|
|
139
143
|
if (td === undefined) {
|
|
140
144
|
throw new Error("This should never happen");
|
|
@@ -232,10 +236,12 @@ export class ForkBlockchain
|
|
|
232
236
|
if (blockNumber > this._latestBlockNumber) {
|
|
233
237
|
return undefined;
|
|
234
238
|
}
|
|
235
|
-
|
|
236
|
-
|
|
239
|
+
|
|
240
|
+
try {
|
|
241
|
+
const block = await super.getBlock(blockNumber);
|
|
237
242
|
return block;
|
|
238
|
-
}
|
|
243
|
+
} catch {}
|
|
244
|
+
|
|
239
245
|
const rpcBlock = await this._jsonRpcClient.getBlockByNumber(
|
|
240
246
|
blockNumber,
|
|
241
247
|
true
|
|
@@ -254,13 +260,17 @@ export class ForkBlockchain
|
|
|
254
260
|
}
|
|
255
261
|
|
|
256
262
|
const common = this._common.copy();
|
|
257
|
-
// We set the common's hardfork
|
|
258
|
-
//
|
|
259
|
-
//
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
+
// We set the common's hardfork depending on the remote block fields, to
|
|
264
|
+
// prevent ethereumjs from throwing if unsupported fields are passed.
|
|
265
|
+
// We use "berlin" for pre-EIP-1559 blocks (blocks without baseFeePerGas),
|
|
266
|
+
// "merge" for blocks that have baseFeePerGas but not withdrawals,
|
|
267
|
+
// and "shanghai" for blocks with withdrawals
|
|
268
|
+
if (rpcBlock.baseFeePerGas === undefined) {
|
|
263
269
|
common.setHardfork("berlin");
|
|
270
|
+
} else if (rpcBlock.withdrawals === undefined) {
|
|
271
|
+
common.setHardfork("merge");
|
|
272
|
+
} else {
|
|
273
|
+
common.setHardfork("shanghai");
|
|
264
274
|
}
|
|
265
275
|
|
|
266
276
|
// we don't include the transactions to add our own custom tx objects,
|
|
@@ -23,8 +23,10 @@ export function rpcToBlockData(rpcBlock: RpcBlockWithTransactions): BlockData {
|
|
|
23
23
|
mixHash: rpcBlock.mixHash,
|
|
24
24
|
nonce: rpcBlock.nonce,
|
|
25
25
|
baseFeePerGas: rpcBlock.baseFeePerGas,
|
|
26
|
+
withdrawalsRoot: rpcBlock.withdrawalsRoot,
|
|
26
27
|
},
|
|
27
28
|
transactions: rpcBlock.transactions.map(rpcToTxData),
|
|
29
|
+
withdrawals: rpcBlock.withdrawals,
|
|
28
30
|
// uncleHeaders are not fetched and set here as provider methods for getting them are not supported
|
|
29
31
|
};
|
|
30
32
|
}
|
|
@@ -86,11 +86,13 @@ import {
|
|
|
86
86
|
import { assertHardhatNetworkInvariant } from "../utils/assertions";
|
|
87
87
|
import { optional } from "../../../util/io-ts";
|
|
88
88
|
import * as BigIntUtils from "../../../util/bigint";
|
|
89
|
+
import { HardforkName } from "../../../util/hardforks";
|
|
89
90
|
import { ModulesLogger } from "./logger";
|
|
90
91
|
|
|
91
|
-
const EIP1559_MIN_HARDFORK =
|
|
92
|
-
const ACCESS_LIST_MIN_HARDFORK =
|
|
93
|
-
const EIP155_MIN_HARDFORK =
|
|
92
|
+
const EIP1559_MIN_HARDFORK = HardforkName.LONDON;
|
|
93
|
+
const ACCESS_LIST_MIN_HARDFORK = HardforkName.BERLIN;
|
|
94
|
+
const EIP155_MIN_HARDFORK = HardforkName.SPURIOUS_DRAGON;
|
|
95
|
+
const EIP3860_MIN_HARDFORK = HardforkName.SHANGHAI;
|
|
94
96
|
|
|
95
97
|
/* eslint-disable @nomiclabs/hardhat-internal-rules/only-hardhat-error */
|
|
96
98
|
export class EthModule {
|
|
@@ -960,7 +962,10 @@ export class EthModule {
|
|
|
960
962
|
try {
|
|
961
963
|
tx = TransactionFactory.fromSerializedData(rawTx, {
|
|
962
964
|
common: this._common,
|
|
965
|
+
disableMaxInitCodeSizeCheck: true,
|
|
963
966
|
});
|
|
967
|
+
|
|
968
|
+
this._validateEip3860MaxInitCodeSize(tx.to?.toBuffer(), tx.data);
|
|
964
969
|
} catch (error) {
|
|
965
970
|
// This section of the code is incredibly dependant of TransactionFactory.fromSerializedData
|
|
966
971
|
// AccessListEIP2930Transaction.fromSerializedTx and Transaction.fromSerializedTx
|
|
@@ -1017,6 +1022,11 @@ export class EthModule {
|
|
|
1017
1022
|
private async _sendTransactionAction(
|
|
1018
1023
|
transactionRequest: RpcTransactionRequest
|
|
1019
1024
|
): Promise<string> {
|
|
1025
|
+
this._validateEip3860MaxInitCodeSize(
|
|
1026
|
+
transactionRequest.to,
|
|
1027
|
+
transactionRequest.data ?? Buffer.from([])
|
|
1028
|
+
);
|
|
1029
|
+
|
|
1020
1030
|
const expectedChainId = this._common.chainId();
|
|
1021
1031
|
if (
|
|
1022
1032
|
transactionRequest.chainId !== undefined &&
|
|
@@ -1742,6 +1752,33 @@ You can use them by running Hardhat Network with 'hardfork' ${EIP155_MIN_HARDFOR
|
|
|
1742
1752
|
}
|
|
1743
1753
|
}
|
|
1744
1754
|
|
|
1755
|
+
private _validateEip3860MaxInitCodeSize(
|
|
1756
|
+
to: Buffer | undefined,
|
|
1757
|
+
data: Buffer
|
|
1758
|
+
) {
|
|
1759
|
+
if (!this._common.gteHardfork(EIP3860_MIN_HARDFORK)) {
|
|
1760
|
+
// this check is only relevant after shanghai
|
|
1761
|
+
return;
|
|
1762
|
+
}
|
|
1763
|
+
|
|
1764
|
+
if (to !== undefined) {
|
|
1765
|
+
// this check is only relevant for deployments
|
|
1766
|
+
return;
|
|
1767
|
+
}
|
|
1768
|
+
|
|
1769
|
+
if (this._node.allowUnlimitedContractSize) {
|
|
1770
|
+
// this check is not performed if allowUnlimitedContractSize is enabled
|
|
1771
|
+
return;
|
|
1772
|
+
}
|
|
1773
|
+
|
|
1774
|
+
const maxInitCodeSize = this._common.param("vm", "maxInitCodeSize");
|
|
1775
|
+
if (data.length > maxInitCodeSize) {
|
|
1776
|
+
throw new InvalidArgumentsError(`Trying to send a deployment transaction whose init code length is ${data.length}. The max length allowed by EIP-3860 is ${maxInitCodeSize}.
|
|
1777
|
+
|
|
1778
|
+
Enable the 'allowUnlimitedContractSize' option to allow init codes of any length.`);
|
|
1779
|
+
}
|
|
1780
|
+
}
|
|
1781
|
+
|
|
1745
1782
|
private _validateRawTransactionHardforkRequirements(rawTx: Buffer) {
|
|
1746
1783
|
if (rawTx[0] <= 0x7f && rawTx[0] !== 1 && rawTx[0] !== 2) {
|
|
1747
1784
|
throw new InvalidArgumentsError(`Invalid transaction type ${rawTx[0]}.
|
|
@@ -140,7 +140,6 @@ export class HardhatNode extends EventEmitter {
|
|
|
140
140
|
automine,
|
|
141
141
|
genesisAccounts,
|
|
142
142
|
blockGasLimit,
|
|
143
|
-
allowUnlimitedContractSize,
|
|
144
143
|
tracingConfig,
|
|
145
144
|
minGasPrice,
|
|
146
145
|
mempoolOrder,
|
|
@@ -149,6 +148,9 @@ export class HardhatNode extends EventEmitter {
|
|
|
149
148
|
allowBlocksWithSameTimestamp,
|
|
150
149
|
} = config;
|
|
151
150
|
|
|
151
|
+
const allowUnlimitedContractSize =
|
|
152
|
+
config.allowUnlimitedContractSize ?? false;
|
|
153
|
+
|
|
152
154
|
let stateManager: StateManager;
|
|
153
155
|
let blockchain: HardhatBlockchainInterface;
|
|
154
156
|
let initialBlockTimeOffset: bigint | undefined;
|
|
@@ -294,6 +296,7 @@ export class HardhatNode extends EventEmitter {
|
|
|
294
296
|
hardfork,
|
|
295
297
|
hardforkActivations,
|
|
296
298
|
mixHashGenerator,
|
|
299
|
+
allowUnlimitedContractSize,
|
|
297
300
|
allowBlocksWithSameTimestamp,
|
|
298
301
|
tracingConfig,
|
|
299
302
|
forkNetworkId,
|
|
@@ -380,6 +383,7 @@ Hardhat Network's forking functionality only works with blocks from at least spu
|
|
|
380
383
|
public readonly hardfork: HardforkName,
|
|
381
384
|
private readonly _hardforkActivations: HardforkHistoryConfig,
|
|
382
385
|
private _mixHashGenerator: RandomBufferGenerator,
|
|
386
|
+
public readonly allowUnlimitedContractSize: boolean,
|
|
383
387
|
private _allowBlocksWithSameTimestamp: boolean,
|
|
384
388
|
tracingConfig?: TracingConfig,
|
|
385
389
|
private _forkNetworkId?: number,
|
|
@@ -453,13 +457,18 @@ Hardhat Network's forking functionality only works with blocks from at least spu
|
|
|
453
457
|
if ("maxFeePerGas" in txParams) {
|
|
454
458
|
tx = FeeMarketEIP1559Transaction.fromTxData(txParams, {
|
|
455
459
|
common: this._vm._common,
|
|
460
|
+
disableMaxInitCodeSizeCheck: true,
|
|
456
461
|
});
|
|
457
462
|
} else if ("accessList" in txParams) {
|
|
458
463
|
tx = AccessListEIP2930Transaction.fromTxData(txParams, {
|
|
459
464
|
common: this._vm._common,
|
|
465
|
+
disableMaxInitCodeSizeCheck: true,
|
|
460
466
|
});
|
|
461
467
|
} else {
|
|
462
|
-
tx = Transaction.fromTxData(txParams, {
|
|
468
|
+
tx = Transaction.fromTxData(txParams, {
|
|
469
|
+
common: this._vm._common,
|
|
470
|
+
disableMaxInitCodeSizeCheck: true,
|
|
471
|
+
});
|
|
463
472
|
}
|
|
464
473
|
|
|
465
474
|
return tx.sign(pk);
|
|
@@ -889,13 +898,21 @@ Hardhat Network's forking functionality only works with blocks from at least spu
|
|
|
889
898
|
);
|
|
890
899
|
}
|
|
891
900
|
|
|
892
|
-
|
|
893
|
-
|
|
901
|
+
try {
|
|
902
|
+
const block = await this._blockchain.getBlock(blockNumberOrPending);
|
|
903
|
+
return block;
|
|
904
|
+
} catch {
|
|
905
|
+
return undefined;
|
|
906
|
+
}
|
|
894
907
|
}
|
|
895
908
|
|
|
896
909
|
public async getBlockByHash(blockHash: Buffer): Promise<Block | undefined> {
|
|
897
|
-
|
|
898
|
-
|
|
910
|
+
try {
|
|
911
|
+
const block = await this._blockchain.getBlock(blockHash);
|
|
912
|
+
return block;
|
|
913
|
+
} catch {
|
|
914
|
+
return undefined;
|
|
915
|
+
}
|
|
899
916
|
}
|
|
900
917
|
|
|
901
918
|
public async getBlockByTransactionHash(
|
|
@@ -1402,17 +1419,13 @@ Hardhat Network's forking functionality only works with blocks from at least spu
|
|
|
1402
1419
|
txWithCommon = new FakeSenderAccessListEIP2930Transaction(
|
|
1403
1420
|
sender,
|
|
1404
1421
|
tx,
|
|
1405
|
-
{
|
|
1406
|
-
common: vm._common,
|
|
1407
|
-
}
|
|
1422
|
+
{ common: vm._common }
|
|
1408
1423
|
);
|
|
1409
1424
|
} else if (tx.type === 2) {
|
|
1410
1425
|
txWithCommon = new FakeSenderEIP1559Transaction(
|
|
1411
1426
|
sender,
|
|
1412
1427
|
{ ...tx, gasPrice: undefined },
|
|
1413
|
-
{
|
|
1414
|
-
common: vm._common,
|
|
1415
|
-
}
|
|
1428
|
+
{ common: vm._common }
|
|
1416
1429
|
);
|
|
1417
1430
|
} else {
|
|
1418
1431
|
throw new InternalError(
|
|
@@ -1424,10 +1437,18 @@ Hardhat Network's forking functionality only works with blocks from at least spu
|
|
|
1424
1437
|
if (txHash.equals(hash)) {
|
|
1425
1438
|
const vmDebugTracer = new VMDebugTracer(vm);
|
|
1426
1439
|
return vmDebugTracer.trace(async () => {
|
|
1427
|
-
await vm.runTx({
|
|
1440
|
+
await vm.runTx({
|
|
1441
|
+
tx: txWithCommon,
|
|
1442
|
+
block,
|
|
1443
|
+
skipHardForkValidation: true,
|
|
1444
|
+
});
|
|
1428
1445
|
}, config);
|
|
1429
1446
|
}
|
|
1430
|
-
await vm.runTx({
|
|
1447
|
+
await vm.runTx({
|
|
1448
|
+
tx: txWithCommon,
|
|
1449
|
+
block,
|
|
1450
|
+
skipHardForkValidation: true,
|
|
1451
|
+
});
|
|
1431
1452
|
}
|
|
1432
1453
|
throw new TransactionExecutionError(
|
|
1433
1454
|
`Unable to find a transaction in a block that contains that transaction, this should never happen`
|
|
@@ -2366,6 +2387,30 @@ Hardhat Network's forking functionality only works with blocks from at least spu
|
|
|
2366
2387
|
// know anything about the txs in the current block
|
|
2367
2388
|
}
|
|
2368
2389
|
|
|
2390
|
+
// If this VM is running without EIP4895, but the block has withdrawals,
|
|
2391
|
+
// we remove them and the withdrawal root from the block
|
|
2392
|
+
if (
|
|
2393
|
+
!this.isEip4895Active(blockNumberOrPending) &&
|
|
2394
|
+
blockContext.withdrawals !== undefined
|
|
2395
|
+
) {
|
|
2396
|
+
blockContext = Block.fromBlockData(
|
|
2397
|
+
{
|
|
2398
|
+
...blockContext,
|
|
2399
|
+
withdrawals: undefined,
|
|
2400
|
+
header: {
|
|
2401
|
+
...blockContext.header,
|
|
2402
|
+
withdrawalsRoot: undefined,
|
|
2403
|
+
},
|
|
2404
|
+
},
|
|
2405
|
+
{
|
|
2406
|
+
freeze: false,
|
|
2407
|
+
common: this._vm._common,
|
|
2408
|
+
|
|
2409
|
+
skipConsensusFormatValidation: true,
|
|
2410
|
+
}
|
|
2411
|
+
);
|
|
2412
|
+
}
|
|
2413
|
+
|
|
2369
2414
|
// NOTE: This is a workaround of both an @nomicfoundation/ethereumjs-vm limitation, and
|
|
2370
2415
|
// a bug in Hardhat Network.
|
|
2371
2416
|
//
|
|
@@ -2415,6 +2460,7 @@ Hardhat Network's forking functionality only works with blocks from at least spu
|
|
|
2415
2460
|
skipNonce: true,
|
|
2416
2461
|
skipBalance: true,
|
|
2417
2462
|
skipBlockGasLimitValidation: true,
|
|
2463
|
+
skipHardForkValidation: true,
|
|
2418
2464
|
});
|
|
2419
2465
|
} finally {
|
|
2420
2466
|
if (originalCommon !== undefined) {
|
|
@@ -2528,6 +2574,19 @@ Hardhat Network's forking functionality only works with blocks from at least spu
|
|
|
2528
2574
|
return this._vm._common.gteHardfork("london");
|
|
2529
2575
|
}
|
|
2530
2576
|
|
|
2577
|
+
public isEip4895Active(blockNumberOrPending?: bigint | "pending"): boolean {
|
|
2578
|
+
if (
|
|
2579
|
+
blockNumberOrPending !== undefined &&
|
|
2580
|
+
blockNumberOrPending !== "pending"
|
|
2581
|
+
) {
|
|
2582
|
+
return this._vm._common.hardforkGteHardfork(
|
|
2583
|
+
this._selectHardfork(blockNumberOrPending),
|
|
2584
|
+
"shanghai"
|
|
2585
|
+
);
|
|
2586
|
+
}
|
|
2587
|
+
return this._vm._common.gteHardfork("shanghai");
|
|
2588
|
+
}
|
|
2589
|
+
|
|
2531
2590
|
public isPostMergeHardfork(): boolean {
|
|
2532
2591
|
return hardforkGte(this.hardfork, HardforkName.MERGE);
|
|
2533
2592
|
}
|