- Added a caching mechanism to reduce the number of requests to the RPC provider.
- Removed handling of network errors due to the high instability of the current implementation of the network handler.
- Updated packages and replaced
require
withawait import
to load migration files. - Updated the version of the eslint package to the latest one.
- Added the
reportContractsMD
function to the public reporter. - Fixed a bug where migration files were missing when running the migration command from outside the project root.
- Added an ability to change signer during the migration
- Updated dependencies
- Fixed a bug when the cache was not saved if the
cache
directory did not exist - Exported
TransactionStorage
,VerificationStorage
, andArtifactStorage
for convenience
- Fixed a bug where remote chain metadata overwrote the local one.
- Fixed a visual bug that sometimes
total cost
was displayed incorrectly.
- Fixed a bug when the default signer was used instead of the actual signer.
- Fixed behaviour of connect method in Ethers Adapter.
- Deleted
pinst
package.
- Added the
verificationDelay
parameter, which defines the time in milliseconds that must pass before the verification process starts. - Added health check for the explorer links before the verification process starts
- Added
BigInt.prototype.toJSON
to theBigInt
type to fix the issue with theBigInt
type in theJSON.stringify
function.
- Updated the ethers version to
6.1.1
to address issue: 4583.
- Fixed a bug related to the shallow copying and mutation of arguments within the
getMethodString
function. - Added ability to retrieve the class name from the contract instance.
- Updated packages to their latest versions (updated
@nomicfoundation/hardhat-verify
to version2.0.4
). - Added a
save
function to the Deployer class to enable saving the contract to storage without deploying it.
- Fixed a bug where an instance of a storage object overwrote the state of another object in the file.
- Changed the way of naming for Truffle transactions to
txName
.
- Removed redundant Hardhat Runtime Extensions.
- Removed Verifier from Migrator class.
- Revised the test infrastructure and architecture.
- Fixed bugs related to the recovery of contract names.
- Fixed a bug related to contract recovery when a custom name is used.
- Migrated test fixture projects to TypeScript, updating configurations and scripts. Created new fixture contracts for testing and deleted auto-generated files.
- Added
TransactionFieldsToSave
as a return value to thesendNative
function - Added handling of the custom chains specified in the Hardhat config
- Refactored the architecture and made it consistent
- Used spinner instead of
console.log
for network errors
- Enforce the overwriting in ArtifactStorage in the case of bytecodeHash as a key
- Fix a bug related to parsing the same bytecode for two different contracts
- Remove redundant initializers in a verifier task
- Handle the potentially undefined tx.customData.txName field
- Handle the partially linked Bytecode in the Truffle Adapter.
- Separated the logic of the Reporter and moved transaction-related functions to the TransactionRunner class.
- Added the ability to specify a name for each transaction, essentially enabling the same transaction to be distinguishable. Also fixed a few bugs related to migration storage.
- Added a Network Manager to handle network errors and implemented logic for reconnection. Also updated the Reporter to support these changes properly.
- Fixed a bug when txs could not be sent with overrides
- Eliminate a collision warning during recovery
- Added ethers to dependencies
- Added ability to accept Overrides as second parameter to the
deploy
function.
- Initially, the fully qualified name is used to retrieve a contract from the Transaction Storage.
- If the fully qualified name is absent, the recovery process falls back to using the
ContractFieldsToSave
derived from the contract. - Should the name be located, the
ContractFieldsToSave
is disregarded and is not used as a key within the Transaction Storage.
- Library linking fully relies on the hardhat artifacts.
This release represents a major update to our plugin. We have completely rebuilt the core logic from scratch, now using ethersV6. Additionally, we have conducted a comprehensive code walkthrough, addressing and resolving bugs, as well as introducing new features.
- Removed the logger from migrations. Logging functionality is now fully integrated within the plugin.
- Restructured the arguments passed to the
deploy
function. - Transitioned to using the
hardhat-verify
plugin for contract verification.
- Added support for EthersV5, EthersV6, and TruffleV5 through Adapters.
- Introduced types support for EthersV5 and EthersV6 only, including constructor arguments validation.
- Implemented a library linking during contract deployment.
- Enhanced reporting during contract deployment.
- Enabled recoverability of contract deployments.
- Improved error reporting during contract deployment.
- Added special user storage between deployments.
- Utilized the
hardhat-verify
plugin for contract verification. - Added three types of verification: "immediately," "at-the-end," and "none."
- Introduced Verification processor and Verification Storage to enable verification of all deployed contracts at the end of the migration.
- Implemented verification error handling.
- Utilized Reporter to override the default 'hardhat-verify' logging.
Centralizes all console logging.
A module that stores necessary data for the migration process in a JSON file.
The default path is the artifacts/build-info
folder.
...