Skip to content
This repository has been archived by the owner on Dec 4, 2023. It is now read-only.

Standalone build errors #5

Open
CedarMist opened this issue Jun 14, 2023 · 0 comments
Open

Standalone build errors #5

CedarMist opened this issue Jun 14, 2023 · 0 comments

Comments

@CedarMist
Copy link

CedarMist commented Jun 14, 2023

Version of Hardhat

0a13029

What happened?

Due to conflicts between two different versions of ethereumjs, the typescript compiler complains of mismatched types.

@oasislabs/ethereumjs-vm

vs

@nomicfoundation/ethereumjs-vm

ode@sprint-dev:~/NomicFoundation-hardhat$ yarn run build
yarn run v1.22.19
$ tsc --build packages/hardhat-core packages/hardhat-ethers packages/hardhat-verify packages/hardhat-solhint packages/hardhat-solpp packages/hardhat-truffle4 packages/hardhat-truffle5 packages/hardhat-vyper packages/hardhat-web3 packages/hardhat-web3-legacy packages/hardhat-chai-matchers packages/hardhat-network-helpers packages/hardhat-toolbox packages/hardhat-foundry
packages/hardhat-core/src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts:98:36 - error TS2345: Argument of type '(_tx: TypedTransaction, next: any) => Promise<void>' is not assignable to parameter of type '(data: TypedTransaction, resolve?: ((result?: any) => void) | undefined) => void'.
  Types of parameters '_tx' and 'data' are incompatible.
    Type 'import("/src/NomicFoundation-hardhat/node_modules/@oasislabs/ethereumjs-vm/node_modules/@nomicfoundation/ethereumjs-tx/dist/types").TypedTransaction' is not assignable to type 'import("/src/NomicFoundation-hardhat/node_modules/@nomicfoundation/ethereumjs-tx/dist/types").TypedTransaction'.
      Type 'Transaction' is not assignable to type 'TypedTransaction'.
        Type 'Transaction' is missing the following properties from type 'AccessListEIP2930Transaction': chainId, accessList, AccessListJSON

98     this._vm.events.on("beforeTx", this._beforeTxHandler);
                                      ~~~~~~~~~~~~~~~~~~~~~

packages/hardhat-core/src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts:100:45 - error TS2345: Argument of type '(message: Message, next: any) => Promise<void>' is not assignable to parameter of type '(data: Message, resolve?: ((result?: any) => void) | undefined) => void'.
  Types of parameters 'message' and 'data' are incompatible.
    Type 'import("/src/NomicFoundation-hardhat/node_modules/@oasislabs/ethereumjs-vm/node_modules/@nomicfoundation/ethereumjs-evm/dist/message").Message' is not assignable to type 'import("/src/NomicFoundation-hardhat/node_modules/@nomicfoundation/ethereumjs-evm/dist/message").Message'.
      Types of property 'code' are incompatible.
        Type 'Buffer | import("/src/NomicFoundation-hardhat/node_modules/@oasislabs/ethereumjs-vm/node_modules/@nomicfoundation/ethereumjs-evm/dist/precompiles/types").PrecompileFunc | undefined' is not assignable to type 'Buffer | import("/src/NomicFoundation-hardhat/node_modules/@nomicfoundation/ethereumjs-evm/dist/precompiles/types").PrecompileFunc | undefined'.
          Type 'PrecompileFunc' is not assignable to type 'Buffer | PrecompileFunc | undefined'.
            Type 'import("/src/NomicFoundation-hardhat/node_modules/@oasislabs/ethereumjs-vm/node_modules/@nomicfoundation/ethereumjs-evm/dist/precompiles/types").PrecompileFunc' is not assignable to type 'import("/src/NomicFoundation-hardhat/node_modules/@nomicfoundation/ethereumjs-evm/dist/precompiles/types").PrecompileFunc'.
              Types of parameters 'input' and 'input' are incompatible.
                Type 'import("/src/NomicFoundation-hardhat/node_modules/@nomicfoundation/ethereumjs-evm/dist/precompiles/types").PrecompileInput' is not assignable to type 'import("/src/NomicFoundation-hardhat/node_modules/@oasislabs/ethereumjs-vm/node_modules/@nomicfoundation/ethereumjs-evm/dist/precompiles/types").PrecompileInput'.
                  Types of property '_common' are incompatible.
                    Type 'import("/src/NomicFoundation-hardhat/node_modules/@nomicfoundation/ethereumjs-common/dist/common").Common' is not assignable to type 'import("/src/NomicFoundation-hardhat/node_modules/@oasislabs/ethereumjs-vm/node_modules/@nomicfoundation/ethereumjs-common/dist/common").Common'.
                      Types have separate declarations of a private property '_chainParams'.

100     this._vm.evm.events.on("beforeMessage", this._beforeMessageHandler);
                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~

...

packages/hardhat-core/src/internal/hardhat-network/stack-traces/vm-tracer.ts:52:44 - error TS2345: Argument of type '(result: EVMResult, next: any) => Promise<void>' is not assignable to parameter of type '(data: EVMResult, resolve?: ((result?: any) => void) | undefined) => void'.
  Types of parameters 'result' and 'data' are incompatible.
    Type 'import("/src/NomicFoundation-hardhat/node_modules/@oasislabs/ethereumjs-vm/node_modules/@nomicfoundation/ethereumjs-evm/dist/evm").EVMResult' is not assignable to type 'import("/src/NomicFoundation-hardhat/node_modules/@nomicfoundation/ethereumjs-evm/dist/evm").EVMResult'.

52     this._vm.evm.events.on("afterMessage", this._afterMessageHandler);

Minimal reproduction steps

Run

yarn
yarn run build

Search terms

No response

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant