wighawag / hardhat-deploy

hardhat deployment plugin
MIT License
1.19k stars 292 forks source link

Expose signer interface #485

Closed huyhuynh3103 closed 12 months ago

huyhuynh3103 commented 1 year ago

This PR introduces a significant enhancement to the hardhat-deploy repository by exposing the signer functionality for various purposes. This change has been made to enhance the usability and flexibility of the library in different scenarios.

Motivation: The motivation behind this PR is to address several use cases where direct access to the signer is necessary, including but not limited to:

Custom Signings: Developers often require the ability to perform custom signings for specific transactions or interactions with smart contracts. By exposing the signer, users can now implement their custom signing logic easily.

Integration with External Wallets: This change facilitates integration with external wallets, allowing users to seamlessly use their preferred wallet providers within hardhat-deploy workflows.

Advanced Smart Contract Interactions: Some advanced use cases, such as multi-signature wallets or complex smart contract interactions, require direct access to the signer. This PR enables these use cases without extensive workarounds.

wighawag commented 1 year ago

you want access to the signer that hardhat-deploy figure from the accounts names it allow you to setup, right ?

because otherwise, hardhat itself provide access to signer

huyhuynh3103 commented 1 year ago

you want access to the signer that hardhat-deploy figure from the accounts names it allow you to setup, right ?

because otherwise, hardhat itself provide access to signer

@wighawag Yeah, I need a signer interface (EOA/Trezor/Ledger/...) to pass as an argument to protocol-kit, which is a tool supported by safe-global to integrate with multisig wallet (ref: etherAdapter). I also want to sign typed data or sign a message by Trezor but hardhat itself does not support TrezorSigner so far.

wighawag commented 12 months ago

Thanks @huyhuynh3103

available in v0.11.39