Skip to content

Conversation

@nerses-asaturyan
Copy link

What

Adds Hardhat configuration and example scripts for deployment and on-chain operations, including native transfer, ETH wrapping, and Uniswap V3 swap.

Why

This update enhances developer experience by providing complete setup and runnable examples for testing and integrating the Transfers contract. It ensures that developers can quickly deploy and interact with the protocol without manual configuration or missing dependencies.

How

  • Added missing Hardhat configuration for deployment and verification
  • Included Permit2 contract used by Transfer but missing from the repository
  • Added example scripts for deployment, native transfers, wrapping, and Uniswap V3 swaps

@cb-heimdall
Copy link

cb-heimdall commented Oct 30, 2025

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 1
Sum 2

@lorrod
Copy link

lorrod commented Oct 30, 2025

Hey, I tried your solution — here’s what I noticed:

  1. Contract verification issue with Sourcify

    Successfully verified contract Transfers on the block explorer.
    https://sepolia.etherscan.io/address/<>
    
    Verification failed: Failed to send contract verification request.
    Endpoint URL: https://sourcify.dev/server
    The HTTP server response is not ok. Status code: 400 Response text: {"error":"Invalid or missing sources in Transfers:\nMissing sources: contracts/interfaces/ITransfers.sol\nInvalid sources: ","message":"Invalid or missing sources in Transfers:\nMissing sources: contracts/interfaces/ITransfers.sol\nInvalid sources: "}
    

    Since the contract was already verified on Etherscan, I just disabled Sourcify in hardhat.config.js.

  2. There’s an unused env var: VALUE_WEI.

  3. The Quoter address for V2 and V3 derived from the same env var, and the provided ABI I found incorrect for eth mainnet - I had to rewrite the quoting logic completely to make it work.

Overall, thanks for sharing the example - it was a good starting point.

@nerses-asaturyan
Copy link
Author

@lorrod ready for re-review.
– Disabled Sourcify in hardhat.config.js
– Removed unused env VALUE_WEI
– Split Quoter envs (V1/V2) and fixed ABIs; V2 preferred with V1 fallback

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants