fhenix-hardhat-plugin v0.3.2
Fhenix Hardhat Plugin

Fhenix Hardhat Plugin is designed to extend your Hardhat environment with additional capabilities focused on Fhenix. It integrates seamlessly with your Hardhat projects to provide a local Fhenix environment, including customized network configuration and utilities for managing funds and permits within your blockchain applications.
See also fhenix-hardhat-docker and fhenix-hardhat-network for the full experience of Fhenix-compatible extensions.
Features
- Faucet Integration: Enables developers to easily obtain funds for testing purposes through a simple API call to a local faucet.
- Permit Management: Simplifies the process of creating and storing permit signatures required for transactions, reducing the complexity of interacting with contracts that require permissions.
- Contract Security Checks: Checks for Fhenix-related potential vulnerabilities in your contracts.
If you want to see a full example in action, check out our Hardhat Example Template!
Installation
To use FhenixJS in your Hardhat project, first install the plugin via npm (or your favorite package manager):
pnpm install fhenix-hardhat-pluginSetup
After installation, import the plugin in your Hardhat configuration file (e.g., hardhat.config.js):
require("fhenix-hardhat-plugin");or if you are using TypeScript, in your hardhat.config.ts:
import "fhenix-hardhat-plugin";Configuration
Using FhenixJS from Hardhat Runtime Environment
After importing fhenix-hardhat-plugin hardhat will automatically extend the Hardhat Runtime Environment (HRE) with a fhenixjs object, providing access to Fhenix-specific functionality:
- Use the
fhenixjsobject directly to encrypt, unseal or manage permits. getFunds(address: string): Request funds from the local faucet for the specified address.createPermit(contractAddress: string, provider?: SupportedProvider): Create and store a permit for interacting with a contract.
Requesting Funds
To request funds from the local faucet for an address, use the getFunds method:
await hre.fhenixjs.getFunds("your_wallet_address");Or use the usefaucet task. Omitting the address will send to the first account in the configured wallet:
pnpm hardhat run task:fhenix:usefaucet [--address <address>]Or you can specify the account number if you want to specify more than one account for the mnemonic specified
pnpm task:fhenix:usefaucet --account <number>If you're not using localfhenix, you have to specify the faucet url yourself:
pnpm task:fhenix:usefaucet --url <faucet-url>Encryption
const encyrptedAmount = await fhenixjs.encrypt_uint32(15);Creating a Permit
To create a permit for a contract, use the createPermit method:
const permit = await hre.fhenixjs.createPermit("contract_address");See FhenixJs documentation for more on using the fhenixjs object.
Support
For issues, suggestions, or contributions, please open an issue or pull request in the GitHub repository.
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago