Skip to content

feat(forge test): add --account <some_account> flag to access wallet inside tests #7950

@ericywl

Description

@ericywl

Component

Forge, Cast

Describe the feature you would like

Given that cast supports wallet imports: #1869, is it possible to get the wallet private key using forge when running tests, instead of putting them in the .env file? For example, via some cheatcode that enables us to get the wallet and obtain the private key?

For reference, deploying via forge script already supports this:

$ forge script script/DeploySimpleStorage.s.sol --rpc-url $SEPOLIA_RPC_URL --broadcast --account <some_account>

But forge test does not. Maybe something like the following would be great:

$ forge test --fork-url $SEPOLIA_RPC_URL --account <some_account>

And then in tests, we can use:

vm.getAccount().privateKey

instead of

vm.envUint("PRIVATE_KEY")

to obtain the private key for deploying onto testnet fork for testing.

Additional context

Original discussion: Cyfrin/foundry-full-course-cu#1733
Reference: #6034

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions