A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/ethers-io/ext-provider-ganache below:

ethers-io/ext-provider-ganache: Ethers extension for the GanacheProvider which provides a simple interface to a Ganache in-memory Ethereum instance.

The GanacheProvider uses an in-memory Ethereum instance (via Ganache) which can be used for testing allowing free transactions and performing explicit operations against an account not normally possible on a real network.

/home/ricmoo> npm install @ethers-ext/provider-ganache
import { GanacheProvider } from "@ethers-ext/provider-ganache";

// Create a new in-memory GanacheProvider
const provider = new GanacheProvider();


///////////////////
// Snapshots
const revert = await provider.snapshot();

// ... perform operations

// Revert back to the snapshot state
await revert();


///////////////////
// Account State

await provider.setAccount(addr, {
    balance: 1000000000000000000n,
    nonce: 5,
    code: "0x00"
});

await provider.setStorageAt(addr, 123, data);
new GanacheProvider(optionsOrGanache?)

When constructing a GanacheProvider, either the standard options normally passed to Ganache may be used or an existing Ganache instance created with the desired configuration.

provider.snapshot() => Promise<() => void>

Takes a snapshot of the current state and resolves to a function, that when called will revert the Provider to the state at the time snapshot was called.

provider.setAccount(address, state) => Promise<void>

Sets account state for address. The state can include any of the properties balance, code or nonce.

provider.setStorageAt(address, slot, value) => Promise<void>

Sets the storage for address at slot to value.

provider.mine() => Promise<void>

Mines a block.

MIT License.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4